'''
爬取淘宝商品信息,通过selenium获得渲染后的源码,pyquery解析,mongodb存储
'''from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.wait import WebDriverWait
from urllib.parse import quote
from pyquery import PyQuery as pq
import pymongoBASEURL = 'https://s.taobao.com/search?q='
KEYWORD = 'python'
driver = webdriver.Chrome()
wait = WebDriverWait(driver, 10)
client = pymongo.MongoClient('mongodb://admin:admin123@localhost:27017/')
db = client.taobao
collection = db.productsdef get_page(page):```跳转到传入页面,获得源码,调用商品解析函数```#driver = webdriver.Chrome()#wait = WebDriverWait(driver, 10)try:driver.get(BASEURL + quote(KEYWORD))print('你当前访问的是第%d页' % page)if page > 1:J_input = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '#mainsrp-pager div.form > input' )))J_submit = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, '#mainsrp-pager div.form > span.btn.J_Submit')))J_input.clear()J_input.send_keys(page)J_submit.click()wait.until(EC.text_to_be_present_in_element((By.CSS_SELECTOR,'#mainsrp-pager li.item.active > span'), str(page)))wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '.m-itemlist .items .item')))html = driver.page_sourceget_products(html)except TimeoutException:print('try again')get_page(page)def get_products(html):'''解析出每件商品信息,调用存储函数存储'''doc = pq(html)items = doc('#mainsrp-itemlist .items .item').items()for item in items:product = {}product['image'] = item.find('.img').attr('src')product['price'] = item.find('.price').text()product['payment'] = item.find('.deal-cnt').text()product['title'] = item.find('.title').text()product['location'] = item.find('.location').text()product['shop'] = item.find('.shopname').text()product['shop-link'] = item.find('.shopname').attr('href')print(product)save_to_mongo(product)def save_to_mongo(product):```存储函数,将商品信息存入数据库```try:if collection.insert(product):print('存储成功')except Exception as e:print('失败',e.__class__)if __name__ == '__main__':for i in range(1, 3):get_page(i)

转载于:https://www.cnblogs.com/Wang-Y/p/9401128.html

爬取淘宝商品信息selenium+pyquery+mongodb相关推荐

  1. 利用Selenium爬取淘宝商品信息

    文章来源:公众号-智能化IT系统. 一.  Selenium和PhantomJS介绍 Selenium是一个用于Web应用程序测试的工具,Selenium直接运行在浏览器中,就像真正的用户在操作一样. ...

  2. python爬虫——用selenium爬取淘宝商品信息

    python爬虫--用selenium爬取淘宝商品信息 1.附上效果图 2.淘宝网址https://www.taobao.com/ 3.先写好头部 browser = webdriver.Chrome ...

  3. python+scrapy简单爬取淘宝商品信息

    python结合scrapy爬取淘宝商品信息 一.功能说明: 已实现功能: 通过scrapy接入selenium获取淘宝关键字搜索内容下的商品信息. 待扩展功能: 爬取商品中的全部其他商品信息. 二. ...

  4. 使用python爬取淘宝商品信息

    使用python爬虫爬取淘宝商品信息 使用的模块主要有 selenium ,time , re, from selenium import webdriver import time import c ...

  5. 2021-11-16爬取淘宝商品信息时如何获取cookie

    爬取淘宝商品信息时如何获取cookie ###一.基本环境 1.win10系统 2.火狐浏览器 3.编程软件anaconda 4.淘宝的robots:https://www.taobao.com/ro ...

  6. Python爬取淘宝商品信息保存到Excel

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资 ...

  7. 爬虫学习笔记——Selenium爬取淘宝商品信息并保存

    在使用selenium来模拟浏览器操作,抓取淘宝商品信息前,先完成一些准备工作. 准备工作:需要安装selenium,pyquery,以及Chrome浏览器并配置ChromeDriver. 安装sel ...

  8. Python爬虫:Selenium模拟Chrome浏览器爬取淘宝商品信息

    对于采用异步加载技术的网页,有时候想通过逆向工程的方式来设计爬虫进行爬取会比较困难,因此,要想通过python获取异步加载数据往往可以使用Selenium模拟浏览器的方式来获取. Selenium是一 ...

  9. 江湖小白之一起学Python (五)爬取淘宝商品信息

    趁热需打铁,随着这几天的鸡血澎湃,我们来实现一下爬取淘宝商品信息,我记得几年前曾用python写了下抓取淘宝天猫,京东,拍拍的爬虫,专门采集商品信息,图片,评论及评论图片,我还用pyqt开发了个客户端 ...

最新文章

  1. 友情链接优化的技巧分享
  2. GridView控件添加鼠标移入移出时背景行变色的效果
  3. button theme
  4. 从零开始搭建spring-cloud(3) ----feign
  5. 猪和兔子的玻璃体给人用(仅仅是个人想法)
  6. Qt文档阅读笔记-写一个简单的单元测试
  7. php忘记密码啦怎么办,后台账号密码忘记了怎么办.
  8. 做好领导最喜欢的可视化报表,30岁依然能转行大数据分析师
  9. oracle11g win10版本,win10系统安装的oracle11g和cloud6.2 创建数据中心报错
  10. mac苹果电脑安装非app store软件无法安装的解决办法
  11. python平稳性检验程序_用 Python 检验时间序列的平稳性
  12. 从架构到平台, POWER 9处理器最全解读
  13. 软件工程师成长为架构师必备的十项技能
  14. java导出excel 图片_请教java导出多张图片到Excel问题!
  15. [C0] 人工智能大师访谈 by 吴恩达
  16. 李白关于鸿蒙的诗,名诗欣赏:李白《把酒问月》之--青天有月来几时
  17. 被迫营业:如何使用向日葵进行远程桌面控制(含MacOS)
  18. 程序猿也爱学英语,有图有真相!
  19. b站如何一次性把up主全部取消关注,让自己去学习
  20. 包载信使RNA(mRNA)的虫草多糖脂质体|冬虫夏草多糖脂质体包载小干扰RNA(siRNA)

热门文章

  1. linux电脑做笔记软件,知识管理工具, 自由格式数据库, 笔记软件以及个人信息管理...
  2. php怎么改标题,PHP – 如何更改包含header.php的页面标题?
  3. init tarray 太大_[NOIP 2001提高组T4]Car的旅行路线
  4. centos 离线安装mysql_CentOS6离线安装mysql-5.7.25
  5. matlab中quat2angle,RPY_Euler_Quaternion_AngleAxis角度转化:Matlab、Python、Halc
  6. php关联数组和哈希表,php遍历哈希表及关联数组的实例代码
  7. rto净化效率计算公式_全面剖析 石油化工行业RTO蓄热式焚烧炉的优势要素
  8. java三大特性 继承_java基础(二)-----java的三大特性之继承
  9. mysql服务器的线程数查看方法_MySQL服务器线程数的查看方法详解
  10. 计算机科学导论(第一次阅读)