python爬京东联盟_Python+Selenium+Chrome抓取京东商品信息
python作为一种动态语言,具有非常高的一发效率,用它来开发定向爬虫,非常适合。目前,已经有不少好用的库可以直接使用,大大加快开发过程。
爬虫一般可以分为静态爬虫和动态爬虫,其中静态爬虫是通过分析要抓取的页面结构,定位到抓取的关键步骤和关键位置后,直接进行数据抓取并进行页面解析,最终得到目标数据。
适用于静态页面和简单的Ajax页面。当页面过于复杂时(如需要Cookies验证、通过Ajax获取数据,并经过复杂渲染过程)人工分析的成本将显著加大,此时可通过使用动态爬虫进行抓取。本文以抓取京东商品信息为例,讲述动态爬虫的一般过程。在此之前,我们先了解一下静态爬虫的常用技术。
基于Python的静态爬虫
网页抓取库
列表内容 urllib urllib2 request …
页面解析库
beautifulsoup lxml HTMLParser …
基于Python的动态爬虫
动态爬虫主要解决JS执行和DOM渲染的问题,常见的渲染方式有
- Webkit
- CEF
- PhantomJS
- Electron
- Chrome
- Firefox
- …
本文中我们选用selenium对Chrome进行控制,实现数据的渲染和抓取。 selenium是一个web的自动化测试工具,可以操作Chrome、Firefox等浏览器。
环境配置
selenium
python下selenium的安装可以参考https://selenium-python.readthedocs.io/installation.html chromedriver
下载chromedriver(https://chromedriver.storage.googleapis.com/2.7/chromedriver_win32.zip)
解压后将chromedriver拷贝至Chrome的安装目录,并设置环境变量,将chromedriver的路径添加到Path中去
测试脚本
from selenium import webdriver
import json
driver=webdriver.Chrome()
driver.get('https://list.jd.com/list.html?cat=9987,653,655')
products=driver.execute_script('return JSON.stringify(slaveWareList);')
products=json.loads(products)
for product in products:
print product
运行上述脚本,将启动一个Chrome浏览器,并自动打开代码中指定的URL链接(https://list.jd.com/list.html?cat=9987,653,655),通过浏览器可以看到手机的商品列表页面。
在Python控制台将打印出所有的商品ID号
除此之外,还可以进一步获取商品的详细信息,并实现翻页等操作,读者可以自行展开研究。Selenium的API接口使用方法可在https://selenium-python.readthedocs.io/installation.html上找到相应的内容。
后续内容
基于electron实现动态页面数据提取的方法(待续)
python爬京东联盟_Python+Selenium+Chrome抓取京东商品信息相关推荐
- centos7+TP5.1+selenium+chrome抓取搜狗微信推文
centos7+TP5.1+selenium+chrome抓取搜狗微信推文 一.Composer 引入 "require": {"php-webdriver/webdri ...
- python爬取网店数据_Python爬虫实现抓取京东店铺信息及下载图片功能示例
本文实例讲述了Python爬虫实现抓取京东店铺信息及下载图片功能.分享给大家供大家参考,具体如下: 这个是抓取信息的 from bs4 import BeautifulSoup import requ ...
- Python爬虫实战(二):抓取京东苹果手机评价
目录 1. 网站分析 2. 示例代码 3. 注意事项 1. 网站分析 本文实现的爬虫是抓取京东商城指定苹果手机的评论信息.使用 requests 抓取手机评论 API 信息,然后通过 json 模块的 ...
- python 批量下载 代码_Python + Selenium +Chrome 批量下载网页代码修改
Python + Selenium +Chrome 批量下载网页代码修改 主要修改以下代码可以调用 本地的 user-agent.txt 和 cookie.txt 来达到在登陆状态下 批量打开并下载网 ...
- selenium+chrome抓取淘宝搜索抓娃娃关键页面
最近迷上了抓娃娃,去富国海底世界抓了不少,完全停不下来,还下各种抓娃娃的软件,梦想着有一天买个抓娃娃的机器存家里~.~ 今天顺便抓了下马爸爸家抓娃娃机器的信息,晚辈只是觉得翻得手酸,本来100页的数据 ...
- python网络爬虫代理服务器_python爬虫如何抓取代理服务器
一年前突然有个灵感,想搞个强大的网盘搜索引擎,但由于大学本科学习软件工程偏嵌入式方向,web方面的能力有点弱,不会jsp,不懂html,好久没有玩过sql,但就是趁着年轻人的这股不妥协的劲儿,硬是把以 ...
- python爬虫中文乱码_Python爬虫处理抓取数据中文乱码问题
原博文 2013-12-17 17:15 − 乱码原因:因为你的文件声明为utf-8,并且也应该是用utf-8的编码保存的源文件.但是windows的本地默认编码是cp936,也就是gbk编码,所以在 ...
- python下载电影视频_python爬虫:抓取下载电影文件,合并ts文件为完整视频
目标网站:https://www.88ys.cc/vod-play-id-58547-src-1-num-1.html 反贪风暴4 对电影进行分析 我们发现,电影是按片段一点点加载出来的,我们分别抓取 ...
- python搞笑动态图_python小爬虫抓取搞笑图片
大部分小程序都是基于py2.7的,我于是便想直接出一个py3.4最新版本的教程.大致看一下第一篇了解一下的一些概念性的东西以及bs4第三方库的使用.请参考文末. 我们的第一个小程序的相关要求: 目标: ...
- python爬虫ip代理_python爬虫批量抓取ip代理的方法(代码)
本篇文章给大家带来的内容是关于python爬虫批量抓取ip代理的方法(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 使用爬虫抓取数据时,经常要用到多个ip代理,防止单个ip访 ...
最新文章
- 关于libStagefright系列漏洞分析
- INSTALL_FAILED_MISSING_SHARED_LIBRARY + Installation failed due to: ‘null‘
- java中bufferendwriter_Java IO系列(三)Writer
- pytorch基础知识整理(二)数据加载
- PHP5.2至5.6的新增功能详解
- CMarkup类在VC中的使用
- vue组件通信v兄弟组件通信eventbus遇到的问题(多次触发、第一次不触发)
- 每日一笑 | 床上还是桌上,你总得选一样~
- python获取未读邮箱数目_python imaplib 获取未读邮件,email解析并按照原名下载附件...
- MySQL查看和修改数据库存储目录
- python抢小米6自动化脚本
- OpenCV4系统化学习路线图与教程
- AX2009企业门户资料
- 在麒麟OS新版本上,发现的几个问题
- 通俗理解同步IO\异步IO
- 登录会员管理系统java_huiyuan 会员管理,一款基于java web 的 软件,可以实现登录、注册、充值功能。 Jsp/Servlet 262万源代码下载- www.pudn.com...
- js传递参数时类型错误
- JS+html+css实现的一个小小的贪吃蛇游戏
- 【Excel】excel中怎样隔行插入空行?
- kali学习1.扫描工具-Recon-NG
热门文章
- 违反GPL协议赔偿50万,国内首例!
- 用Excel自带图表插入带分类变量的箱形图(单坐标轴并列箱)
- win10启用smb3多通道_关于win10无法使用smb访问局域网内的计算机
- 微生物组-扩增子16S分析第10期(报名直播课免费参加线下2020.10)
- 推荐系统与LSTM、GRU
- 中国移动开放平台(dev.cmccopen.cn)请求头Header:Authorization验证失败的原因(我遇到的)
- python数码时钟代码_micro:bit 编程模拟时钟表盘
- jzojs 100047. 【NOIP2017提高A组模拟7.14】基因变异
- Win10 64位+Mysql5.7+主从同步配置
- 一键让网页变黑白色调