python按综合、销量排序抓取100页的淘宝商品列表信息

本文介绍了如何使用Python爬虫技术,在淘宝网站上按照综合和销量两个维度,分别抓取100页的商品列表信息。内容包括详细步骤和相关学习资源,旨在帮助读者掌握网页数据抓取技巧。
摘要由CSDN通过智能技术生成

进入淘宝网,分别按综合、销量排序抓取100页的所有商品的列表信息。

1、按综合


    import re 
    from selenium import webdriver 
    from selenium.common.exceptions import TimeoutException 
    from selenium.webdriver.common.by import By 
    from selenium.webdriver.support.ui import WebDriverWait 
    from selenium.webdriver.support import expected_conditions as EC 
    from pyquery import PyQuery as pq #获取整个网页的源代码 
     
    from config import * #可引用congif的所有变量 
    import pymongo 
    import pymysql 
     
    # client=pymongo.MongoClient(MONGO_URL) 
    # db = client[MONGO_DB] 
     
    # 按综合排序 100页 
     
     
    # 打开淘宝链接,输入‘美食',搜索 
    # 自动翻页:先得到总页数,再转到 _ 页,确定 
    # 
     
    # browser = webdriver.PhantomJS(service_args=SERVICE_ARGS) 
    # browser =webdriver.Chrome() 
    browser = webdriver.Firefox() 
    wait = WebDriverWait(browser,10) 
     
    def search(): 
     print('正在搜索...') 
     try: 
      browser.get('https://www.taobao.com') #用这个网页'https://s.taobao.com',无法输入keywords 
      input=wait.until( 
        EC.presence_of_element_located((By.CSS_SELECTOR,'#q')) #打开淘宝,右击查看元素,定位到搜索框,选择对应代码,复制-CSS选择器,其实就是‘#q'。 
      ) 
      submit=wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR,'#J_TSearchForm > div.search-button > button'))) 
      input.send_keys(KEYWORD) #模拟操作,输入内容 
      submit.click() #点击提交 
      total = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR,'#mainsrp-pager > div > div > div > div.total'))) #页数 
      return total.text 
     except TimeoutException : 
      return search() 
     
    # 翻页 
    def next_page(page_number): 
     print('正在翻页',page_number) 
     try: 
      input = wait.until( 
       # 输入框 
       EC.presence_of_element_located((By.CSS_SELECTOR, '#mainsrp-pager > div > div > div > div.form > input')) # 打开淘宝,右击查看元素,定位到搜索框,选择对应代码,复制-CSS选择器,其实就是‘#q'。 
      ) 
      # 搜索按钮 
      submit = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, '#mainsrp-pager > div > div > div > div.form > span.btn.J_Submit'))) #未修改 
      input.clear() 
      input.send_keys(page_number) # 模拟操作,输入页码 
      submit.click() 
      #判断翻页是否成功,找到高亮页码数,由数子判断 
      wait.until(EC.text_to_be_present_in_element((By.CSS_SELECTOR ,'#mainsrp-pager > div > div > div > ul > li.item.active > span')
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值