大家好,我是zeroing~
今天介绍一下如何用Python来爬取京东商品类目,数据包含商品标题、价格、出版社、作者等信息,
本次爬虫用到的核心库为Selenium+pyquery,Selenium用于驱动浏览器对网页进行模拟访问,pyquery用于解析页面信息做数据提取,先看一下最终效果
启动脚本之后,Selenium自动打开页面京东网页端页面,对商品页信息进行翻页操作,在浏览器翻页的同时,控制后台返回提取到的数据,
在介绍主程序之前,这里先介绍Selenium程序包
1,Selenium的安装
Selenium主要作为Web应用程序的测试工具,能够操控浏览器完成一系列步骤,模拟人为操作;比如自动刷课,自动填写文本,网页端自动查询快递单号都是没问题的,目前支持Java、Python、C#、Ruby等多种语言;
在做网页爬取时,有的网页的数据是以Ajax方式进行渲染,如微博,头条没有下一页入口通过刷新页面实现翻页效果;这类网页端数据并不是直接放在html中,是通过用户操作触发镶嵌在html中的js命令,从而调用存放json文件中的数据,最终呈现;
对于这类网页采集时,一般有两种思路:
1,利用开发者工具,找到存放json数据隐藏链接,再用常规的Request方法对数据进行提取;2,利用Selenium工具模拟人为操作,实现数据的抓取;因此Selenium工具可以对于网页端的一些反爬措施能够达到一些有效的抑制;
Python使用Selenium时可以借助封装好的Selenium库,安装时利用pip命令即可完成
pipinstallselenium目前Selenium支持的浏览器包括Chrome和Firefox,这里建议大家选择Chrome会好一点,因为网上关于Chrome的文档相对会多一点,
但在使用之前,除了保证Chrome浏览器安装好之外,还需要确保chromedriver.exe工具(Selenium的核心为webdriver,而chromedriver.exe为Chrome的WebDriver工具)也安装好
chromedriver的版本需要与Chrome浏览器的版本对应,下载到本地即可
下载地址如下: