当前位置:   article > 正文

【Python爬虫】爬取淘宝商品数据——新手教程_爬取淘宝商品数据python

爬取淘宝商品数据python

大数据时代,

数据收集不仅是科学研究的基石,

更是企业决策的关键。

然而,如何高效地收集数据

成了摆在我们面前的一项重要任务。

本文将为你揭示,

一系列实时数据采集方法,

助你在信息洪流中,

找到真正有价值的信息。

提升方法


今天,我们就用python爬取淘宝上某一商品的数据

Python版本:Python3.6

浏览器:谷歌
一键爬取

目的:爬取淘宝上所有卖高跟鞋的商家的商品名称、商品价格、付款人数、店铺和发货地址,将爬取到的数据保存在data.csv文件中

一、输入关键词和网址

  1. keywords = '高跟鞋'
  2. while 1:
  3. try:
  4. driver = webdriver.Chrome()
  5. break
  6. except:
  7. time.sleep(1)
  8. driver.get('https://www.taobao.com/')
  9. page = search_product(keywords)

关键词keywords为高跟鞋,while的目的是防止出现因为网不好导致报错。这一部分运行后,会自动打开淘宝官网,并将关键词自动输入。

二、构建存储表格

  1. with open('data.csv','a',newline='') as filecsv:
  2. csvwriter = csv.writer(filecsv,delimiter = ',')
  3. csvwriter.writerow(['商品名称','商品价格','付款人数','店铺','发货地址'])
  4. get_product()
  5. page_num = 1

三、爬取每一页的商品数据

  1. while page_num != page:
  2. print('正在爬取第'+str(page_num)+'页数据')
  3. driver.get('https://s.taobao.com/search?q='+keywords+'&imgfile=&commend=all&ssid=s5-e&search_type=item&sourceId=tb.index&spm=a21bo.2017.201856-taobao-item.2&ie=utf8&initiative_id=tbindexz_20170306&bcoffset=3&ntoffset=3&p4ppushleft=1%2C48&s='+str(page_num*44))
  4. driver.implicitly_wait(2) #浏览器等待 因为爬取速度过快
  5. driver.maximize_window() #浏览器最大化
  6. get_product()
  7. page_num = page_num+1
  8. def get_product():
  9. divs = driver.find_elements_by_xpath('//div[@class="items"]/div[@class="item J_MouserOnverReq "]')
  10. product = {}
  11. product_all = {}
  12. with open('data.csv','a',newline='') as filecsv:
  13. csvwriter = csv.writer(filecsv,delimiter = ',')
  14. for id_product,div in enumerate(divs):
  15. product['info'] = div.find_elements_by_xpath('.//div[@class="row row-2 title"]')[0].text
  16. product['price'] = div.find_elements_by_xpath('.//div[@class="price g_price g_price-highlight"]/strong')[0].text+'元'
  17. product['Number_of_people'] = div.find_elements_by_xpath('.//div[@class="deal-cnt"]')[0].text
  18. product['address'] = div.find_elements_by_xpath('.//div[@class="location"]')[0].text
  19. product['Shop'] = div.find_elements_by_xpath('//div[@class="shop"]/a/span[2]')[0].text
  20. # with open('data.csv','a',newline='') as filecsv:
  21. # csvwriter = csv.writer(filecsv,delimiter = ',')
  22. csvwriter.writerow([product['info'],product['price'],product['Number_of_people'],product['Shop'],product['address']])

page为需要爬取的总页数,在本代码中为所有页码,如果只需要前10页,可手动将其改为10。

driver.implicitly_wait(2) 为页面等待两秒,是为了防止网址发现是爬虫而不让爬取数据。

driver.implicitly_wait(2) 函数为提取每一页商品的具体数据。

最后的保存结果为:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/705151
推荐阅读
相关标签
  

闽ICP备14008679号