scrapy爬取微信公众号内容,多管道储存,orm数据储存

   日期:2024-12-18    作者:cu4kj 移动:http://ljhr2012.riyuangf.com/mobile/quote/7697.html
  • 基本介绍:基于异步爬虫的框架。高性能的数据解析,高性能的持久化存储,全站数据爬取,增量式,分布式…
  • 环境的安装

- Linux

scrapy爬取微信公众号内容,多管道储存,orm数据储存

 

- Windows

 
  • scrapy基本使用
    • 工程的目录结构

      • spiders文件夹: 这里存放爬虫的主程序,这里可以写多个爬虫文件,分别执行不同的爬虫功能。
        • 要求:必须要存储一个或者多页爬虫文件
      • items.py: 这个文件定义了爬虫程序中爬取的字段信息,对应着数据库中的属性信息。
      • middlewares.py: 下载中间件,可以对爬取到的网页信息尽心特定的处理。
      • pipelines.py: 管道,也就是将返回来的item字段信息写入到数据库,这里可以写写入数据库的代码。
      • settings.py: 配置文件。
    • 2.创建爬虫文件

      • cd proName
      • scrapy genspider spiderName www.xxx.com
    • 3.执行工程

      • scrapy crawl spiderName
      • 重点关注的日志信息:ERROR类型的日志信息
        • settings.py:LOG_LEVEL = ‘ERROR’
        • settings.py:不遵从robots协议
        • settings.py:
        • UA伪装:USER_AGENT = ‘Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36’

settings.py代码参考以及配置意思的含义:

 
数据解析
 
 
 

打开spiders文件夹下爬虫文件
wechat/wechat/spiders/wechatspider.py

代码如下:

 
持久化存储
 
  • 基于终端指令的持久化存储
    cd 项目文件下
    用命令把爬取课程名和url地址存在本地
 
 
  • 基于管道的持久化存储
    1.spider文件下得爬虫文件wechatspider.py
 

2.items.py代码

 

3.去settings里开启管道配置。

 
 
 

4.1 封装管道类,把数据储存到mysql里 ; pipelines.py代码:
,我比较懒,不喜写SQL语句,用sqlalchemy来处理的。

mysql 创建库:

create database wechat charset utf8mb4;

cd spiderst同级目录下
mkdir docs
新建models.py:

 

执行命令:

alembic init migrations

修改alembic.ini、enc.py代码 ,参考:https://blog.csdn.net/yutu75/article/details/117362459
也可以自行百度如何迁移

alembic revision --autogenerate -m “v1”

alembic upgrade head

修改pipelines.py,代码:
下面封装了三个管道类

txt文件,mysql,Redis

 

执行命令 :

scrapy crwal wechatspider

储存后txt

持久化储存的知识点总结
 
redis的基础使用
 
全站数据爬取

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号