Selenium+phantomjs | 动态网页爬虫

什么是网络爬虫

是一种按照一定的规则,自动地抓取互联网信息的程序或者脚本


静态网页爬虫和动态网页爬虫

很多时候我们抓取网页上的文字,图片和视频内容
直接用网页源码的html里找到资源属性或者路径就好了
但是
并不是所有的内容都可以直接需抓取
豆瓣读书举例

这是网页显示的内容

右键–查看下源代码试试

mark

这是网页源代码

这其中并没有书籍封面,标题,以及评分等信息
因为源代码是js脚本加载前的初始模样
所以用requesets发起简单的get或者post请求
是无法直接解析到具体的内容的
mark

使用检查试试

进入浏览器调试模式
mark

可以看到,在DOM里
显示了标题和详情页url等信息
也就是,如果模拟浏览器,使用webdriver
是可以解析到元素的
mark


对于淘宝,京东等电商

mark

很多采取了加密保护措施的网站
就可以使用selenium进行动态网页抓取
进行数据采集和分析

    虽然反爬远远不只是这么简单
    比如还需要设置代理池,添加请求头
    但是通过webdriver模拟浏览器操作
    已经迈过了动态网页的第一个拦路虎 

Selenium

Selenium主要用于web应用程序的自动化测试
可以实现浏览器操作的自动化
比如普通办公人士,也可以用来-

  • 自动点击,刷票
  • 自动填写表单问卷
  • 自动爬取动态网页的各种元素信息:文字/图片/视频
  • 进行数据采集和分析

总之能理解成网页上的各种自动化事情操作

  • 鼠标点击,右键,滑动
  • 填写文字
  • 返回,刷新,确认回车等等

selenium可以操作谷歌/火狐/IE各种浏览器
也可以使用无界面浏览器PhantomJS
无界面可以减少cpu消耗,速度效率更快
更适合部署脚本程序在linux系统上,持续运行
mark


爬取豆瓣读书的短评

具体是以下步骤

  • 获取书名或者ISBN号
  • selenium豆瓣读书搜索–获取详情页url地址
  • 发起requests请求,获取并解析短评
    mark

selenium相关代码示例

mark


mark


希望和你做朋友

关注微信公众号 [hackorgeek]

会邀请你加入到微信群

mark


更多精彩文章

把你的微信变成超级营销机器人
短信群发–低成本营销SMS喵
知乎Robot–自动点赞+评论+群发私信

小心!3分钟黑掉你的安卓手机
5分钟把U盘变为随身系统


加入我们的私密社群

加入小密圈

mark


点击原文,即可加入小密圈:
http://t.xiaomiquan.com/mu3ZVRVmark

你有什么问题或者看法,不妨在留言区评论噢.


发表评论

电子邮件地址不会被公开。 必填项已用*标注