首页 > 其他 > 详细

selenium五十行代码自动化爬取淘宝

时间:2019-09-28 22:21:48      阅读:102      评论:0      收藏:0      [点我收藏+]

先看一下代码,真的只是五十行:

 1 # coding=gbk
 2 
 3 from selenium import webdriver
 4 import time
 5 
 6 options = webdriver.ChromeOptions()
 7 options.add_argument(r--user-data-dir=C:\Users\lwy\AppData\Local\Google\Chrome\User Data\Default)
 8 options.add_experimental_option(excludeSwitches, [enable-automation])
 9 driver = webdriver.Chrome(options=options)
10 driver.get(https://www.taobao.com/)
11 
12 
13 headers = {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36,
14            Referer: https://www.taobao.com/}
15 
16 
17 def request_page():
18     driver.find_element_by_xpath(//*[@id="q"]).send_keys(男装)
19     time.sleep(3)
20     driver.find_element_by_xpath(//*[@id="J_TSearchForm"]/div[1]/button).click()
21     time.sleep(5)
22     # 控制页数
23     for i in range(5):
24         # 获取每页存放所有商品的div
25         all_thing_div = driver.find_element_by_xpath(//*[@id="mainsrp-itemlist"]/div/div/div[1])
26         # 获取每个商品的div列表
27         thing_div_list = all_thing_div.find_elements_by_xpath(./div)
28         # 依次获取每个商品的信息
29         for thing_div in thing_div_list:
30             info_div_list = thing_div.find_element_by_css_selector(.ctx-box).find_elements_by_xpath(
31                 ./div)  # 获取每个商品下面信息的4个div
32             price = info_div_list[0].find_element_by_xpath(./div[1]/strong).text  # 单价
33             customer = info_div_list[0].find_element_by_xpath(./div[@class="deal-cnt"]).text  # 购买数量
34             thing_name = info_div_list[1].find_element_by_xpath(./a).text
35             thing_lianjie = info_div_list[1].find_element_by_xpath(./a).get_attribute(href)
36             store_name = info_div_list[2].find_element_by_xpath(./div[1]/a/span[2]).text
37             store_where = info_div_list[2].find_element_by_xpath(./div[2]).text
38             print("单价:", price, "购买数量:", customer, 商品名称:, thing_name, 店铺名称:, store_name, 店铺所在地, store_where,
39                   链接:, thing_lianjie)
40         print(第{0}页爬取完成.format(i+1))
41         if i+1 == 5:
42             break
43         driver.find_element_by_xpath(//*[@id="mainsrp-pager"]/div/div/div/ul/li[8]/a/span[1]).click()
44         time.sleep(10)
45 
46 
47 if __name__ == __main__:
48     request_page()
49     driver.close()

第七行用来加载chrome的配置文件,需要改成自己的路径,可以再chrome的地址栏里输入chrome://version查看,第八行用来绕过淘宝对selenium的检测,request_page是自定义的爬虫函数,主要是利用xpath语法,真的不要太方便,第一个for循环用来控制爬取的页数,第二个for循环用来爬取每一个商品。

(ps:还是正在努力的小菜鸡,希望大佬执教,,xixiiixi。。。。)

**********不积跬步无以至千里**********

selenium五十行代码自动化爬取淘宝

原文:https://www.cnblogs.com/liangxiyang/p/11605044.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!