querylist采集微信公众号文章(微信公众号文章的舆情监控系统)

优采云 发布时间: 2021-12-23 16:23

  querylist采集微信公众号文章(微信公众号文章的舆情监控系统)

  小明酱是2018年元旦更新的,文笔还是很粗糙的。如果您遇到爬虫问题,欢迎交流,评论区随时为您开放!

  实习已经过去两周了,目前的任务量不是很大。我的老板人很好,他是一名军校学生,分配给我的任务比我想象的更接近我的研究方向。他做的是微信公众号文章的舆情监测系统。以下是系统图的整体设计流程:

  

  目前第一周是爬取微信公众号文章,主要功能如下:

  以上功能已经实现。真心觉得在项目中学习是最高效的方式,但同时也有不明白的问题。希望下周能掌握新知识,做一个总结。您不能只停留在插件编程中。.

  下面我介绍一下思路流程GitHub代码点击这里:

  大意

  输入公众号获取爬虫起始地址

  http://weixin.sogou.com/weixin?type=1&s_from=input&query=+公众号ID+&ie=utf8&_sug_=n&_sug_type_=

  

  基于网页结构设计爬取规则

  在这个阶段,我徘徊了很长时间。看到很多demo设计花哨的反拣货策略,让我心慌了半天。

  1.第一级:找到指定公众号,获取公众号首页链接

  

  2.Level 2:跳转到首页,找到文章的各个链接

  

  3. Level 3:进入每个文章页面进行信息爬取,三个绿色框内的信息,以及页面的主要内容

  

  主要思路是这样的,用chrome检查的部分就不细说了,是例行操作

  

  网址:

  但是当我把网址复制到浏览器时,他又回到了微信搜索的首页,哦,我该怎么办?我们先来看看开发者工具

  

  以上参数只对应URL。专注于 tsn。表示访问在文章的一天内。我们应该提出以下要求:

  return [scrapy.FormRequest(url='http://weixin.sogou.com/weixin',

formdata={'type':'2',

'ie':'utf8',

'query':key,

'tsn':'1',

'ft':'',

'et':'',

'interation':'',

'sst0': str(int(time.time()*1000)),

'page': str(self.page),

'wxid':'',

'usip':''},

method='get']

  上面的问题解决了~

  存储详情

  数据存储量还是很大的,需要大量的样本来训练模型。它现在存储在数据库中,但值得我注意的一个细节是数据的编码。现在公众号的文章里有很多表情符号。,于是出现如下错误:

  pymysql.err.InternalError: (1366, "Incorrect string value: '\\xF0\\x9F\\x93\\xBD \\xC2...' for column 'article' at row 1")

  解决方案参考:

  对抗爬行动物

  主要问题是验证码,但是如果爬行速度不是很快,是可以避免的。因此,采用以下两种策略:

  import random

DOWNLOAD_DELAY = random.randint(1, 3)

  总结页面元素匹配问题。以后我们会详细了解BeautifulSoup的翻页逻辑。这个只能自学自学了。考虑换页的逻辑数据库存储和编码问题。Navicat是新换的,感觉100分。这次配置完成后,放心使用代理IP,网上通过代码爬取的IP无法使用,浪费了很多时间,邪恶的tsn,学了一招笑死了。

  爬行的基本思路很清晰,但其实我还没有完全掌握爬行,还有很多方面需要继续学习。正如行走所说的那样,我心急如焚,想尽快实现自己的目标,却忽略了正确的原则和基础,是绝对不可能掌握的。因此,在寒假期间,我希望能好好学习以下知识:

  尤其是第二点非常非常重要。学习会可以证明你可以爬,而不是仅仅拼凑几段代码来运行,你会得到很多东西。同时也希望志同道合的朋友可以加我。微信,一起进步!哈哈我的微信欢迎私聊~

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线