自动抓取网页数据(腾讯T9大佬*敏*感*词*教你用框架爬取论坛数据存入数据库网站数据)
优采云 发布时间: 2022-03-24 07:07自动抓取网页数据(腾讯T9大佬*敏*感*词*教你用框架爬取论坛数据存入数据库网站数据)
腾讯T9老板教你使用Scrapy爬虫框架爬取论坛数据并存入数据库
使用scrapy爬取网站数据是目前比较主流的爬虫框架,也很简单。
一、前言
网络爬虫(也称为网络蜘蛛或网络机器人)是一种程序或脚本,它根据一定的规则自动爬取万维网上的信息。其他不太常用的名称是 ant、autoindex、emulator 或 worm。------百度百科
也就是说,爬虫是用来以正则化的方式获取海量数据,然后进行处理和使用。它是大数据、金融、机器学习等领域的必要支撑条件之一。
目前在一线城市,爬虫的薪酬比较客观,晋升中高级爬虫工程师、数据分析师、大数据开发岗位是一个很好的过渡。
二、项目目标
其实这里介绍的项目不需要太复杂。最终目的是将帖子的每条评论爬入数据库,并进行数据更新,防止重复爬取,反爬取等措施。
三、项目准备
这部分主要介绍本文所需要的工具、库、网页等信息。
软件:PyCharm
所需库:Scrapy、selenium、pymongo、user_agent、datetime
目标网站:
插件:chromedriver(版本应该是正确的)
四、项目分析
1、确定爬取的结构网站
简而言之:确定网站的加载方式,如何正确逐级进入post抓取数据,用什么格式保存数据等。
其次,观察网站的层次结构,也就是如何按照section来逐个进入post页面,这对于这个爬虫任务来说非常重要,也是写代码的主要部分。
2、如何选择合适的方式爬取数据?
目前我知道的爬虫方法大概有以下几种(不完整,但比较常用):
1)请求框架:使用这个http库可以灵活的爬取需要的数据。简单但过程略繁琐,可以配合抓包工具获取数据。但是需要确定headers头和对应的请求参数,否则无法获取数据;很多app爬取,图片和视频爬取可以随时爬取和停止,比较轻量级和灵活,高并发和分布式部署也很灵活,功能可以更好的实现。
2)scrapy框架:scrapy框架可以说是爬虫最常用最好的爬虫框架,优点很多:scrapy是异步的;使用更具可读性的 xpath 而不是常规;强大的统计和日志系统;同时爬取不同的网址;支持shell模式,方便独立调试;支持编写中间件,方便编写一些统一的过滤器;可以通过管道等方式存储在数据库中。这也是本次要介绍的框架(结合selenium库)文章。
五、项目实施
1、第一步:确定网站的类型
先说明什么意思,看网站是什么,先看网站的加载方式,是静态加载,动态加载(js加载),还是其他方式;根据不同的加载方式,需要采用不同的方式。然后我们观察了今天爬的网站,发现这是一个有年代感的论坛。第一个猜测是静态加载的网站;我们打开组织js加载的插件,如下图所示。
2、第 2 步:确定层次关系
其次,今天我们要爬的网站是情感论坛网站,是一个静态加载的网站,前面的分析中已经理解了,然后是层次结构:
大概就是上面的过程,一共有三级渐进式访问,然后到达post页面。
部分代码展示:
一级接口:
二级接口:
三级界面:
3、第三步:确定爬取方式
<p>由于是静态网页,我先决定使用scrapy框架直接获取数据,通过初步测试发现该方法确实可行,但当时年纪轻轻,低估了