我爱编程

爬取亚马逊搜索关键词,结果数量

2018-05-18  本文已影响97人  一斩z

帮朋友写的一个亚马逊关键词搜索结果,用request跟beautiful爬下来是 一堆乱码,不知道怎么解析,最后用selenium实现自动化抓取,效率较慢。

环境:python 3

要求:

抓取每个关键词的结果数是多少

思路:

自动化打开窗口;
拼接关键词链接;
用selenium抓取,id:s-result-count,文本内容
存储到本地

代码实现:

#coding = utf - 8
from selenium import webdriver
import os
import time

#url跳转链接
baseUrl = 'http://www.amazon.com/s/ref=nb_sb_noss_2?url=search-alias%3Daps&field-keywords='
offSet = ['ceramic knife set','dogs','pet','towel','bathroom','paper','quilt','glass','Skate']

#启动浏览器
chromedriver = "F:\\Anaconda\Lib\\site-packages\\chromedriver.exe"
os.environ["webdriver.chrome.driver"] = chromedriver
browser = webdriver.Chrome(chromedriver)
#browser.get("https://www.baidu.com/")

#循环获取link
i = 0
for key_word in range(len(offSet)):
    print(i)
    #time.sleep(10)
    #url
    try:
        browser.get(baseUrl+offSet[i])
        #selenium find id元素
        content = browser.find_element_by_id('s-result-count').text
        #time.sleep(15)
        resultFile = open("F:\\amazon_keyword.txt","a")
        resultFile.write(content +"\n")
        resultFile.close()
    except:
        print('Error')
        #browser.close()
    i += 1

总结:刚开始由于网络原因,一直延时抓取,提示错误,用了try想找出异常,接了网线后才发现是网络原因-

上一篇下一篇

猜你喜欢

热点阅读