爬取微信公众号内容——绘制词云

写在前面的话

前段时间写了一篇通过搜狗引擎获取微信公众号的文章,最近又看了一个网易云歌词绘制词云的程序

然后我就想,能否把这两者结合起来呢

还好经历几多波折终于把这个东西给弄出来了。

其实中间的实现不是很难, 关键是环境搭建实在是太困难了

好了,先把代码以及效果图奉献上吧

代码

weixin_spider.py

#!/usr/bin/python
# coding: utf-8

#这三行代码是防止在python2上面编码错误的,在python3上面不要要这样设置
import sys
reload(sys)
sys.setdefaultencoding(‘utf-8‘)

from urllib import quote
from pyquery import PyQuery as pq
from selenium import webdriver

import requests
import time
import re
import json
import os

#搜索入口地址,以公众为关键字搜索该公众号
def get_search_result_by_keywords(sogou_search_url):
	# 爬虫伪装头部设置
	headers = {‘User-Agent‘: ‘Mozilla/5.0 (Windows NT 6.3; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0‘}

	# 设置操作超时时长
	timeout = 5
	# 爬虫模拟在一个request.session中完成
	s = requests.Session()
	log(u‘搜索地址为:%s‘ % sogou_search_url)
	return s.get(sogou_search_url, headers=headers, timeout=timeout).content

#获得公众号主页地址
def get_wx_url_by_sougou_search_html(sougou_search_html):
	doc = pq(sougou_search_html)
	return doc(‘div[class=txt-box]‘)(‘p[class=tit]‘)(‘a‘).attr(‘href‘)

#使用webdriver 加载公众号主页内容,主要是js渲染的部分
def get_selenium_js_html(url):
	browser = webdriver.PhantomJS(executable_path=r‘D:\Python2.7\Scripts\phantomjs.exe‘) 

	browser.get(url)
	time.sleep(3)
	# 执行js得到整个页面内容
	html = browser.execute_script("return document.documentElement.outerHTML")
	browser.close()
	return html

#获取公众号文章内容
def parse_wx_articles_by_html(selenium_html):
	doc = pq(selenium_html)
	return doc(‘div[class="weui_media_box appmsg"]‘)

#将获取到的文章转换为字典
def switch_arctiles_to_list(articles):
	#定义存贮变量
	articles_list = []
	i = 1

	#遍历找到的文章,解析里面的内容
	if articles:
		for article in articles.items():
			log(u‘开始整合(%d/%d)‘ % (i, len(articles)))
			#处理单个文章
			articles_list.append(parse_one_article(article))
			i += 1
	return articles_list

#解析单篇文章
def parse_one_article( article):
	article_dict = {}

	#获取标题
	title = article(‘h4[class="weui_media_title"]‘).text().strip()
	###log(u‘标题是: %s‘ % title)
	#获取标题对应的地址
	url = ‘http://mp.weixin.qq.com‘ + article(‘h4[class="weui_media_title"]‘).attr(‘hrefs‘)
	log(u‘地址为: %s‘ % url)
	#获取概要内容
	summary = article(‘.weui_media_desc‘).text()
	log(u‘文章简述: %s‘ % summary)
	#获取文章发表时间
	date = article(‘.weui_media_extra_info‘).text().strip()
	log(u‘发表时间为: %s‘ % date)
	#获取封面图片
	pic = parse_cover_pic(article)

	#返回字典数据
	return {
		‘title‘: title,
		‘url‘: url,
		‘summary‘: summary,
		‘date‘: date,
		‘pic‘: pic
	}

#查找封面图片,获取封面图片地址
def parse_cover_pic( article):
	pic = article(‘.weui_media_hd‘).attr(‘style‘)

	p = re.compile(r‘background-image:url\((.*?)\)‘)
	rs = p.findall(pic)
	log( u‘封面图片是:%s ‘ % rs[0] if len(rs) > 0 else ‘‘)

	return rs[0] if len(rs) > 0 else ‘‘

#自定义log函数,主要是加上时间
def log(msg):
	print u‘%s: %s‘ % (time.strftime(‘%Y-%m-%d_%H-%M-%S‘), msg)

#验证函数
def need_verify(selenium_html):
	‘ 有时候对方会封锁ip,这里做一下判断,检测html中是否包含id=verify_change的标签,有的话,代表被重定向了,提醒过一阵子重试 ‘
	return pq(selenium_html)(‘#verify_change‘).text() != ‘‘

#创建公众号命名的文件夹
def create_dir(keywords):
	if not os.path.exists(keywords):
		os.makedirs(keywords) 

#爬虫主函数
def run(keywords):
	‘ 爬虫入口函数 ‘
	#Step 0 :  创建公众号命名的文件夹
	create_dir(keywords)

	# 搜狐微信搜索链接入口
	sogou_search_url = ‘http://weixin.sogou.com/weixin?type=1&query=%s&ie=utf8&s_from=input&_sug_=n&_sug_type_=‘ % quote(keywords)

	# Step 1:GET请求到搜狗微信引擎,以微信公众号英文名称作为查询关键字
	log(u‘开始获取,微信公众号英文名为:%s‘ % keywords)
	log(u‘开始调用sougou搜索引擎‘)
	sougou_search_html = get_search_result_by_keywords(sogou_search_url)

	# Step 2:从搜索结果页中解析出公众号主页链接
	log(u‘获取sougou_search_html成功,开始抓取公众号对应的主页wx_url‘)
	wx_url = get_wx_url_by_sougou_search_html(sougou_search_html)
	log(u‘获取wx_url成功,%s‘ % wx_url)

	# Step 3:Selenium+PhantomJs获取js异步加载渲染后的html
	log(u‘开始调用selenium渲染html‘)
	selenium_html = get_selenium_js_html(wx_url)

	# Step 4: 检测目标网站是否进行了封锁
	if need_verify(selenium_html):
		log(u‘爬虫被目标网站封锁,请稍后再试‘)
	else:
		# Step 5: 使用PyQuery,从Step 3获取的html中解析出公众号文章列表的数据
		log(u‘调用selenium渲染html完成,开始解析公众号文章‘)
		articles = parse_wx_articles_by_html(selenium_html)
		log(u‘抓取到微信文章%d篇‘ % len(articles))

		# Step 6: 把微信文章数据封装成字典的list
		log(u‘开始整合微信文章数据为字典‘)
		articles_list = switch_arctiles_to_list(articles)
		return [content[‘title‘] for content in articles_list]

weixin_wordcloud.py

# coding: utf8
from wordcloud import WordCloud
import weixin_spider
import matplotlib.pyplot as plt
import time

if __name__ == ‘__main__‘:
	print u‘‘‘
            ****************************************************************
            **   Welcome to Spider of weixin gongzhonghao for wordcloud   **
            **                 Created on 2017-05-03                      **
            **                 @author: Jimy _Fengqi                      **
            ****************************************************************
    ‘‘‘
	gongzhonghao=raw_input(u‘input weixin gongzhonghao:‘)
	if not gongzhonghao:
		gongzhonghao=‘python‘
	text = " ".join(weixin_spider.run(gongzhonghao))

	print text
	wordcloud = WordCloud(random_state=1, font_path = r‘C:/Users/Windows/fonts/simkai.ttf‘).generate(text)#处理获取到的title,准备绘制词云

	print ‘start drawing.....‘
	plt.figure()
	plt.imshow(wordcloud, interpolation=‘bilinear‘)
	plt.axis(‘off‘)
	plt.show()

结果

运行结果以及效果图如下:

            ****************************************************************
            **   Welcome to Spider of weixin gongzhonghao for wordcloud   **
            **                 Created on 2017-05-03                      **
            **                 @author: Jimy _Fengqi                      **
            ****************************************************************

input weixin gongzhonghao:
2017-05-03_17-12-05: 开始获取,微信公众号英文名为:python
2017-05-03_17-12-05: 开始调用sougou搜索引擎
2017-05-03_17-12-05: 搜索地址为:http://weixin.sogou.com/weixin?type=1&query=python&ie=utf8&s_from=input&_sug_=n&_sug_type_=
2017-05-03_17-12-05: 获取sougou_search_html成功,开始抓取公众号对应的主页wx_url
2017-05-03_17-12-05: 获取wx_url成功,http://mp.weixin.qq.com/profile?src=3×tamp=1493802721&ver=1&signature=Eu9LOYSA47p6WE0mojhMtFR-gSr7zsQOYo6*w5VxrUjAAes2nWKzZmHcIVVOotmCKZQHqx1-oJty0W7zXgciDA==
2017-05-03_17-12-05: 开始调用selenium渲染html
2017-05-03_17-12-14: 调用selenium渲染html完成,开始解析公众号文章
2017-05-03_17-12-14: 抓取到微信文章10篇
2017-05-03_17-12-14: 开始整合微信文章数据为字典
2017-05-03_17-12-14: 开始整合(1/10)
2017-05-03_17-12-14: 地址为: http://mp.weixin.qq.com/s?timestamp=1493802726&src=3&ver=1&signature=0YETqaQn3VeAFFu5BfQjFRkPF4H*-Pdei4mlBgUEtq0k1QLMNDBHGL*vmaJVGGxgDnWtjomkqe8PXYC-M4UT-Ubq8pZXWLNMCUN8t46HfTCghZZelhTNk4OK9r4N84PNA4PStQzUxee5aSRaDAYTBS9Wf2m7FYrKgva2*9PSq4k=
2017-05-03_17-12-14: 文章简述: 不同于其他免费基础视频、不容错过哦
2017-05-03_17-12-14: 发表时间为: 2017年4月25日
2017-05-03_17-12-14: 封面图片是:http://mmbiz.qpic.cn/mmbiz_jpg/Kad3LZzM7n6kOLEoklv3z5DlYnHz2lE2pcudibic6pDbMUck8vT4zlzqDUDpBeWNsgGPef8HmQkrG6dPkAZick0jw/0?wx_fmt=jpeg
2017-05-03_17-12-14: 开始整合(2/10)
2017-05-03_17-12-14: 地址为: http://mp.weixin.qq.com/s?timestamp=1493802726&src=3&ver=1&signature=0YETqaQn3VeAFFu5BfQjFRkPF4H*-Pdei4mlBgUEtq0k1QLMNDBHGL*vmaJVGGxgDnWtjomkqe8PXYC-M4UT-du18Q4qJZThq4lkPKLgjuXf-H6L4kHEImvTcJXsIjlm4eWr3pGE4Kr0DKmBSNe27wR*EmgCQuPwXey4tFdI-uM=
2017-05-03_17-12-14: 文章简述: 恭喜你获得了免费python学习机会、
2017-05-03_17-12-14: 发表时间为: 2017年4月22日
2017-05-03_17-12-14: 封面图片是:http://mmbiz.qpic.cn/mmbiz_png/Kad3LZzM7n7J8cEPG7OwwoJpECMfbYribz3LojBq8TUbfibhmEicb6M1AbZbDN5fL490AtUEpv33lnDfOWdhZHw5w/0?wx_fmt=png
2017-05-03_17-12-14: 开始整合(3/10)
2017-05-03_17-12-14: 地址为: http://mp.weixin.qq.com/s?timestamp=1493802726&src=3&ver=1&signature=0YETqaQn3VeAFFu5BfQjFRkPF4H*-Pdei4mlBgUEtq0k1QLMNDBHGL*vmaJVGGxgDnWtjomkqe8PXYC-M4UT-YYYmhz6gmrq4PnNMVHDwJMKYXgaGMZo8QqlHmZ5AyFQwrnSDU3gtYjXP6bvz9m0HjURSqAE*lF-t5R6iQSw8bc=
2017-05-03_17-12-14: 文章简述: 如今python编程语言在国内越来越火了,学习python的人也开始多了起来,今天我就来分享一下,我了解到的从各大知名企业招聘信息中的python程序员职业技能表!
2017-05-03_17-12-14: 发表时间为: 2017年4月11日
2017-05-03_17-12-14: 封面图片是:http://mmbiz.qpic.cn/mmbiz_png/Kad3LZzM7n5RzVjTFpzmaAupSsibCOvw6pyUTSF8qqgMI98S5soCyNlnnbLSLAfFibJUSyjhyxSC53LibJq48PTUQ/0?wx_fmt=png
2017-05-03_17-12-14: 开始整合(4/10)
2017-05-03_17-12-14: 地址为: http://mp.weixin.qq.com/s?timestamp=1493802726&src=3&ver=1&signature=0YETqaQn3VeAFFu5BfQjFRkPF4H*-Pdei4mlBgUEtq0k1QLMNDBHGL*vmaJVGGxgDnWtjomkqe8PXYC-M4UT-XdE1cnErev9xb0hF1qOmgr5P*HeGyrWpC5OrEQvAKDaxPjExg1V594I*vwhcHoEIraMXA0fDOod*qVu7fsN1VY=
2017-05-03_17-12-14: 文章简述: 又是新的一周、新的开始
2017-05-03_17-12-14: 发表时间为: 2017年4月10日
2017-05-03_17-12-14: 封面图片是:http://mmbiz.qpic.cn/mmbiz_png/Kad3LZzM7n5DicWjY05ib7KAZNjZpGMT55FdmYfgL1UJU39UIjB1icnRWSCibrHYPFgAPDkjsx7RgRXlFs7njL8QFw/0?wx_fmt=png
2017-05-03_17-12-14: 开始整合(5/10)
2017-05-03_17-12-14: 地址为: http://mp.weixin.qq.com/s?timestamp=1493802726&src=3&ver=1&signature=0YETqaQn3VeAFFu5BfQjFRkPF4H*-Pdei4mlBgUEtq0k1QLMNDBHGL*vmaJVGGxgDnWtjomkqe8PXYC-M4UT-UAtygSQ*C5lBQy53XisEjEmV-uFUkwzjPLoaaF5vOqLn9Bm3tB84CSsX0MfzK5d57DS625vB-hM*k1zQwgfbJ0=
2017-05-03_17-12-14: 文章简述: 不定时更新这种精讲视频、记得随时关注哦
2017-05-03_17-12-14: 发表时间为: 2017年4月8日
2017-05-03_17-12-14: 封面图片是:http://mmbiz.qpic.cn/mmbiz_jpg/Kad3LZzM7n5HIeqCSKia2L10THBoRkYkKrbicUJjUYicCXjiasUDuJxY9DBJ0tTP3ticf2XbN2Cr5Vfg0CM1Kx1TwiaA/0?wx_fmt=jpeg
2017-05-03_17-12-14: 开始整合(6/10)
2017-05-03_17-12-14: 地址为: http://mp.weixin.qq.com/s?timestamp=1493802726&src=3&ver=1&signature=0YETqaQn3VeAFFu5BfQjFRkPF4H*-Pdei4mlBgUEtq0k1QLMNDBHGL*vmaJVGGxgDnWtjomkqe8PXYC-M4UT-Vf8RaS4Pkph9DIfBuroVRszZ7VccePWMMYLU1Wda8YZrUc5X9DL1F*7QUvkN75ZXxKSl7JKCQihehlrRCQQziY=
2017-05-03_17-12-14: 文章简述: flask是一款非常流行的Python Web框架,出生于2010年,作者是Armin Ronacher,本来这个项目只是作者在愚人节的一个玩笑,后来由于非常受欢迎,进而成为一个正式的项目。目前为止最新的版本是0.11.1。
2017-05-03_17-12-14: 发表时间为: 2017年4月6日
2017-05-03_17-12-14: 封面图片是:http://mmbiz.qpic.cn/mmbiz_jpg/Kad3LZzM7n6kOLEoklv3z5DlYnHz2lE2j1EVD3OcqtW9BDJEK8libEyY7QdDCLkJgQaFwXP0FJmZCug3KKjeVAg/0?wx_fmt=jpeg
2017-05-03_17-12-14: 开始整合(7/10)
2017-05-03_17-12-14: 地址为: http://mp.weixin.qq.com/s?timestamp=1493802726&src=3&ver=1&signature=0YETqaQn3VeAFFu5BfQjFRkPF4H*-Pdei4mlBgUEtq0k1QLMNDBHGL*vmaJVGGxgDnWtjomkqe8PXYC-M4UT-dYVYcn0tSGPeTL8AlJGawykBwNMks28FXsqxsxui0a4n4-5TXQPsrpuc*69GH1WOfzeHw*3WnK48uuqwMmY8NU=
2017-05-03_17-12-14: 文章简述: 值得一看哦
2017-05-03_17-12-14: 发表时间为: 2017年4月5日
2017-05-03_17-12-14: 封面图片是:http://mmbiz.qpic.cn/mmbiz_png/Kad3LZzM7n6JXibnmFZEMsTo4rIY37l58ibQicyiaiaTwRo1ia05hpjicbb5OlL8na5JTsUGwwyY6Pg6MXFD6nrYnaGDg/0?wx_fmt=png
2017-05-03_17-12-14: 开始整合(8/10)
2017-05-03_17-12-14: 地址为: http://mp.weixin.qq.com/s?timestamp=1493802726&src=3&ver=1&signature=0YETqaQn3VeAFFu5BfQjFRkPF4H*-Pdei4mlBgUEtq0k1QLMNDBHGL*vmaJVGGxgDnWtjomkqe8PXYC-M4UT-ajcYor67dV-edCLAmz7ysAPsW1rnB-*0nqeyWNMdfoaMh5987ezN6IoTrGsjuyAzHd*VatTOzBzpkl-kevjDP4=
2017-05-03_17-12-14: 文章简述: ctypes(二)— 基本函数调用
上一次提到了,ctypes的兼容层,这次我们直接讲利用兼容层调用函数的相关规则。
2017-05-03_17-12-14: 发表时间为: 2017年4月2日
2017-05-03_17-12-14: 封面图片是:http://mmbiz.qpic.cn/mmbiz_jpg/Kad3LZzM7n6kOLEoklv3z5DlYnHz2lE23reFCJVbkRvwcadcnvA84WYIqOmLtU1e679xzfUXFE8hvWa2tBqugA/0?wx_fmt=jpeg
2017-05-03_17-12-14: 开始整合(9/10)
2017-05-03_17-12-14: 地址为: http://mp.weixin.qq.com/s?timestamp=1493802726&src=3&ver=1&signature=0YETqaQn3VeAFFu5BfQjFRkPF4H*-Pdei4mlBgUEtq0k1QLMNDBHGL*vmaJVGGxgDnWtjomkqe8PXYC-M4UT-Qie-wwJs-toXtk7yDFPxfApK1UXSBITe-3QQuzYbo10M7BUKIPMtQf99U*UyTD-woQcjC8WnxoaqiaF2IeoKBc=
2017-05-03_17-12-14: 文章简述: ctypes(一) — 初识
很多初学Python的新手,总是嘴边挂着一句话:“Python是一门胶水语言”。
2017-05-03_17-12-14: 发表时间为: 2017年4月1日
2017-05-03_17-12-14: 封面图片是:http://mmbiz.qpic.cn/mmbiz_jpg/Kad3LZzM7n6kOLEoklv3z5DlYnHz2lE2V9CasXUA3JNnd6ZncuC6ptGvfalj6ibWr17YmAD0fTEVTD1SjEicekibg/0?wx_fmt=jpeg
2017-05-03_17-12-14: 开始整合(10/10)
2017-05-03_17-12-14: 地址为: http://mp.weixin.qq.com/s?timestamp=1493802726&src=3&ver=1&signature=0YETqaQn3VeAFFu5BfQjFRkPF4H*-Pdei4mlBgUEtq0k1QLMNDBHGL*vmaJVGGxgDnWtjomkqe8PXYC-M4UT-fUfVJStvaToDhm9rGSUVbZGpsdiyxOoBRZZng907ag6hLzmPy-6TfgYnB9xy5g3W1IUzt0GyVE27Rs3QqaFDZs=
2017-05-03_17-12-14: 文章简述: 什么是连接器?
连接器是编程语言(我们特指Python)连接数据库的一个中间层,通常以第三方包的形式发布。因此,如果我们要使用Python来操作数据库,那我们必须安装相应的连接器。
2017-05-03_17-12-14: 发表时间为: 2017年3月30日
2017-05-03_17-12-14: 封面图片是:http://mmbiz.qpic.cn/mmbiz_jpg/Kad3LZzM7n6kOLEoklv3z5DlYnHz2lE2pcudibic6pDbMUck8vT4zlzqDUDpBeWNsgGPef8HmQkrG6dPkAZick0jw/0?wx_fmt=jpeg
python基础教程:VIP精讲旅程 python项目实战教程:Flask框架开发搜索引擎 Python程序员技能表—446家知名企业的Py招聘信息 Python项目实战教程:Web与爬虫开发-(全自动更新数据)下 python框架教程:scrapy框架之xpath语法 框架-flaskの开发 Python项目实战教程:Web与爬虫开发(全自动更新数据) 系列:Python扩展模块(2) 愚人节快乐!今天你被愚了吗?系列:Python扩展模块(1) 这是Python连接器吗?不晓得
start drawing.....

总结

使用wordcloud 需要安装很多东西

目前所知

wordcloud

numpy

scipy

其他缺少资源也可以在下面的地址查找

http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy

时间: 2024-10-04 11:37:25

爬取微信公众号内容——绘制词云的相关文章

微信PK10平台开发与用python爬取微信公众号文章

本文通过微信提供微信PK10平台开发[q-21528-76294] 网址diguaym.com 的公众号文章调用接口,实现爬取公众号文章的功能.注意事项 1.需要安装python selenium模块包,通过selenium中的webdriver驱动浏览器获取Cookie的方法.来达到登录的效果: 2.使用webdriver功能需要安装对应浏览器的驱动插件,我这里测试用的是谷歌浏览器: google chrome版本为52.0.2743.6 ; chromedriver版本为:V2.23 注意:

python 多线程方法爬取微信公众号文章

本文在上一篇基础上增加多线程处理(http://blog.51cto.com/superleedo/2124494  ) 执行思路: 1,规划好执行流程,建立两个执行线程,一个控制线程 2,线程1用于获取url,并写入urlqueue队列 3,线程2,通过线程1的url获取文章内容,并保存到本地文件中 4,线程3用于控制程序,保证1,2线程都执行完后退出 5,多线程退出程序,在子线程设置daemon为true,保证程序正常退出 6,添加异常处理,添加限时防止屏蔽 闲话不多说,上代码 #!/usr

使用fiddler抓取微信公众号文章的阅读数、点赞数、评论数

1 设置fiddler支持https 打开fiddler,在菜单栏中依次选择 [Tools]->[Options]->[HTTPS],勾上如下图的选项: 单击Actions,选择Export Root Certificate to Desktop(导出证书到桌面)选项: 安装证书: 在桌面上找到FiddlerRoot.cer文件,双击进行安装直到导入成功. 2 配置fiddler抓取规则 在菜单栏中依次选择 [Rules]->[Customize Rules] 弹出Fiddler Scr

Python 抓取微信公众号账号信息

搜狗微信搜索提供两种类型的关键词搜索,一种是搜索公众号文章内容,另一种是直接搜索微信公众号.通过微信公众号搜索可以获取公众号的基本信息及最近发布的10条文章,今天来抓取一下微信公众号的账号信息( 爬虫 首先通过首页进入,可以按照类别抓取,通过"查看更多"可以找出页面链接规则: import requests as req import re reTypes = r'id="pc_\d*" uigs="(pc_\d*)">([\s\S]*?)

搜狗搜索推广品牌专区新增微信互动区展示企业微信公众号内容

搜狗搜索背靠腾讯这棵大树,成长条件得天独厚,在推出搜狗微信搜索后,最近升级了搜狗搜索品牌专区产品,上线了 “微信互动区”,可同步显示企业公众微信号二维码及相关内容,包括品牌信息.最新活动.营销关键词等. 微信公众号相关信息的加入,促进了企业与用户之间的沟通与互动:有助于及时传递品牌及产品相关信息,为品牌创造了更多和更长久的“被关注”的机会,实现营销价值的长期化,这也进一步凸显了搜狗搜索商业产品体系的差异化优势.

requests利用selenium,代理Ip,云打码,验证码抠图操作 爬取搜狗微信公众号内容

import requests from lxml import etree import time import json import random from dama import yundama from selenium import webdriver from PIL import Image #处理图片包 import pymysql import re from requests.exceptions import ConnectionError #==============

微信公众号批量爬取java版

最近需要爬取微信公众号的文章信息.在网上找了找发现微信公众号爬取的难点在于公众号文章链接在pc端是打不开的,要用微信的自带浏览器(拿到微信客户端补充的参数,才可以在其它平台打开),这就给爬虫程序造成很大困扰.后来在知乎上看到了一位大牛用php写的微信公众号爬取程序,就直接按大佬的思路整了整搞成java的了.改造途中遇到蛮多细节问题,拿出来分享一下. 附上大牛文章链接:https://zhuanlan.zhihu.com/c_65943221  写php的或者只需要爬取思路的可以直接看这个,思路写

python爬微信公众号前10篇历史文章(1)

作为程序员,要时刻保持一颗好奇心和想要学习的姿态. 练习怎样利用搜狗微信爬取某指定微信公众号的历史文章.爬取微信公众号本身难度非常大,感谢搜狗提供了一个可以爬取数据的平台. 代码部分参考于: https://github.com/Chyroc/WechatSogou/tree/master/wechatsogou 目标: 1. 从http://weixin.sogou.com/搜狗微信搜索中获取指定公众号名称的搜索页面 2. 抓取指定公众号的历史文章列表 待解决难题: 如何从输入验证码页面自动跳

Python爬虫实现的微信公众号文章下载器

平时爱逛知乎,收藏了不少别人推荐的数据分析.机器学习相关的微信公众号(这里就不列举了,以免硬广嫌疑).但是在手机微信上一页页的翻阅历史文章浏览,很不方便,电脑端微信也不方便. 所以我就想有什么方法能否将这些公众号文章下载下来.这样的话,看起来也方便.但是网上的方法要么太复杂(对于我这个爬虫入门新手来说),要么付费. 但我的需求其实却很简单--"方便的查找 / 检索 / 浏览相关公众号的任意文章",所以,一番学习检索后,上手做了一个小工具(打包成可执行文件了),虽然方法和代码相当简单,但