自动抓取网页数据(腾讯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框架直接获取数据,通过初步测试发现该方法确实可行,但当时年纪轻轻,低估了

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线