python简书爬⾍完整代码及详细笔记
(scrapy+selenium+mysql)
项⽬简介
实现思路
先解惑:为啥要⽤到s e le nium?
偶尔,也许⼩⼩的眼睛会充满⼤⼤的疑惑:代码并没有错,爬取数据的时候有些数据却死活获取不到。其实就是因为那是动态加载的数据,右键-查看⽹页源代码只能看到当前url获取的内容,看不到动态加载的数据。
现在前后端分离,从后台获取的数据⼀般都是采取动态加载。对于⼀些⽆法通过当前页⾯url获取的数据,就需要⽤到Selenium了,它是web应⽤程序⾃动化测试⼯具,能够模拟⽤户⾏为,获取动态数据加载后的⽹页源代码。
s cr ap y+s e le nium+m ys q l整体思路就是:
1.在scrapy框架的下载器中间件中,利⽤selenium处理请求并拿到完全加载的⽹页源代码
2.将⽹页源代码封装成response,在中间件的process_request函数中返回,这样就会直接返回数据全部加载的页⾯源码给爬⾍引擎,request 也不会发送到下载器那边去,也就是selenium代替了下载器。
3.最后使⽤管道pipelines将数据存进数据库。
准备⼯作
url编码和utf8区别需要安装的第三⽅库
使⽤python包管理⼯具pip下载即可
pip install scrapy
pip install selenium
pip install pymysql
安装m ys q l
image.png
下载⾕歌浏览器驱动器chr om e d r iv e r.e x e
根据⾃⼰使⽤的浏览器去下载相应版本的驱动器即可,把它放到python安装⽬录下,也就是所在的⽬录下(放这⾥是因为不指定路径的话,默认到这⾥来驱动程序)
项⽬构建及具体代码实现
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论