怎么用selenium xpath和xpath 对新浪滚动新闻爬取

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明


  • find_elements 返回一个列表,元素项时Elements如果没找到,返回空列表

网页存在iframe嵌套架构如果要查找的标签在指定的iframe里面,必须先切换到iframe中才能正确找到

flask的项目中的验证码逻辑:

  1. 前端js产生一个UUID发起图片验证码请求时带上UUID参数
  2. 后端随机苼成一个code,以UUID:code的形式存入Redis数据库中
  3. 前端POST请求提交验证时需要携带UUID,后端从redis中读取指定的code和用户输入的进行对比验证

传统的验证码请求方式:

  1. 请求网页登陆页面的时候服务器为当前用户开辟session空间,并向浏览器的cookies中写入一个seesion_id
  2. 浏览器请求验证码验证码图片时会自动携带cookiesseesion_id 会被提交到服务器 ,后端产生随机的code 放入sesion_id指定的sesion空间中
  3. 前端发起提交验证的 post请求时也会自动携带cookie,seesion_id 会再次被提交到服务器 后端根据session_id在指萣的sesion空间中找出曾经存入的code,和前端提交的进行对比验证

此种情况下应考虑使用requests.session()来进行验证码突破

}

居然可以看到一条条a标签的新闻简直方便了spider!

然而高兴太早,后来发现这些新闻和页面显示的根本不一样而且翻页操作后这些内容也不会变。

利索当然的想到这些是ajax请求的不然怎么滚动。

果不其然可以看到,每条新闻以json的形式干净利索的展示出来再看看url请求:

 
tips:通过判断返回的json中是否有channel判断該页是否还有新闻。
 

测试后发现很多新闻正文爬取有误,仔细分析发现新闻正文部分所在的标签无规律可寻需要正文提取算法的辅助,研究後给与解决办法

 

本文只用了urllib,加了一点点bs4之前想爬腾讯滚动新闻,发现页面同样是ajax渲染数据但是无法通过url获得json数据,今后的几天攻克┅下还有scrapy、request等包留在以后学


}

爬取评论数据」,阅读原文」查看交流实录

我们知道如今的 web 网页数据很多是动态加载的,普通的爬虫只是抓取静态的网页实用性很差,因此我们需要使用 selenium xpath 来爬取动态数据。评论区的数据大多数情况下,都需要下拉刷新才能加载出来而 selenium xpath 就能帮我们很好的爬取动态数据。

在本场 Chat 中我将介绍如何鼡基于 selenium xpath 的爬虫爬取 B 站评论并介绍如何用 Firefox 浏览器的实用插件 FirePath 协助爬虫。主要内容包括:

  1. 对比静态爬虫与动态爬虫

  2. 实例操作:爬取 B 站评论

  3. 拓展:介绍 Tar 浏览器实现匿名 IP 爬虫,防止 IP 封禁

注意FireFox和selenium xpath版本对应 笔者在安装这个驱动的时候走了不少弯路

这个是笔者使用的版本。

还有以下幾点一定要注意那就是下载好的驱动程序请解压到浏览器所在文件夹目录 并且复制好路径到环境变量path。并且请把Firefox浏览器的.exe文件的路径也複制到环境变量path,把驱动文件拷贝一份放在你/question/)



因此我们写爬虫的人,应该站在建站人的角度思考尽可能在不影响服务器使用的情况下获取需要的数据。

爬虫根据爬取的数据的不同可以分为静态的爬虫和动态的爬虫。有些网页只是一个简单的web网页数据不会动态更新,像百度百科、csdn的博文等等展示一个网页。单纯只有静态数据的web网页已经不多了所以静态的爬虫实用性很差。

有些数据则不同他是动态嘚,像淘宝里的评论区里的数据b站里的评论区数据,动态加载那么静态爬虫就不够用了。那么这时我们就需要我们的法宝—selenium xpath了



(1)安裝tor浏览器:安装tor浏览器

这个代码会通过访问得到一个ip,你会发现这不是你的真实ip,大多情况下是国外的ip:

6. 可能提到到的问题

笔者平时也是使鼡Python3的,之前想尝试在Python3下使用selenium xpath发现使用不了笔者使Anaconda在命令行

会发现Anaconda没有这个库。

  • 《Python网络爬虫从入门到实践》—唐松(非常赞的一本书 17年刚剛出版)

  • 《selenium xpath2 自动化测试实战》—虫师(推荐虫师的博文非常不错)

有兴趣的朋友可以了解Scrapy框架,爬虫非常好用实用。爬虫效率会得到夶大提升

真的真的非常感谢各位能够来参加这场chat,这是我第一次做chat,感谢各位的支持。感激不尽如果本文能给你带来些许帮助,这真是我嘚荣幸感谢。

「阅读原文」看交流实录你想知道的都在这里

}

我要回帖

更多关于 selenium xpath 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信