【Python】 简单关键字爬取公众号文章

原文地址:Python 简单关键字爬取公众号文章
爬取目标:微信公众号“纵梦广科”中“表白墙”(可选“吐槽墙”)的文章
爬取字段:表白对象、表白内容
爬取缘由:分析“表白墙”上的同学什么说得多的词
爬取工具:matplotlib、wordcloud、jieba
爬取结果: “表白墙”文章160篇
爬取收获:简单爬取公众号文章、简单生成词云
爬取注意

  • 因为爬取内容可以简洁地直接保存txt文本进行绘画词云分析,所有并没有存入数据库
  • 本项目代码不具有可复用性,无论是登录的cookie还是文章的页数都需要重新手动获取输入
  • 代码中cookie的值太长了,都在一行不方便阅读,于是做了分行,可以根据个人喜好选择
  • 本代码通用于爬取公众号文章的标题url,如需要爬取文章内容则需要手动更改爬取规则
  • token的值是爬取的公众号的标识符,如果更换公众号就需要更改该值
  • 本项目代码因为“表白墙”与“吐槽墙”网页结构相同,因此可以自行选择输入“表白墙”或“吐槽墙”进行爬取
  • 词云图在本文档后面
  • 获取cookie等操作步骤在本文最后

ps:
在参考文章中的例子是直接搜索公众号全部内容文章的,我测试过这样爬取全部的话只能爬几页就被提示”操作太频繁“而无法爬取,但换成关键字”query”搜索的话没有出现问题,目前本代码爬取”表白墙“32页并没有本禁止。本来还尝试如何避免封装爬取全部文章但没有成功,但如果关键字是空白符或者其他标点符号的话也能获取大部分文章

代码

# -*- coding: utf-8 -*-
import requests
from PIL import Image
from lxml import etree
import time
import random
import matplotlib.pyplot as plt
import numpy as np
from wordcloud import WordCloud
import jieba


# 使用Cookie,跳过登陆操作
headers = {
    "Cookie": "noticeLoginFlag=1; remember_acct=820605644%40qq.com; "
              "ua_id=F89e6CvMPIib8tkPAAAAAE8A9_O5KrS5oMM390XQRHI=; mm_lang=zh_CN; pgv_pvi=1996118016; "
              "noticeLoginFlag=1; remember_acct=820605644%40qq.com; pgv_si=s2063726592; ticket_id=gh_86437b3d3630; "
              
  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值