搜狗搜索因为有微信公众号搜索的接口,所以通过这个接口就可以实现公众号的爬虫
需要安装几个python的库:selenium,pyquery
还使用到phantomjs.exe,这个需要我们自己去下载,然后放在自己的python工程下即可
在输入框输入想要爬取的公众号的微信号,然后搜公众号,
可出现搜索结果,进入主页可以看到该公众号最近发布的文章,点击标题可查看文章内容
由此思路,能够在网页上查看微信公众号的推送,即可实现公众号爬虫;但搜狗搜索有个不足就是只能查看公众号最近发布的10条推送,再以往的历史记录无法查看。
有了爬虫思路之后就是开始实现的过程,先拿到搜狗搜索的接口
http://weixin.sogou.com/weixin?query=keyword
通过这个接口即能够获取到公众号主页入口,文章列表,文章内容,用python来写爬虫的实现,下面是运行结果,得到文章标题、文章链接、文章简述、发表时间、封面图片链接、文章内容,并且将爬取到的这些信息存入文本文档,公众号的文章爬取就完成了。
话不多说,代码如下:
from pyquery import PyQuery as pq
from selenium import webdriver
import os
import re
import requests
import time
# 使用webdriver 加载公众号主页内容,主要是js渲染的部分
def get_selenium_js_html(url):
browser = webdriver.PhantomJS(executable_path=r'phantomjs.exe')
browser.get(url)
time.sleep(3)
# 执行js得到整个页面内容
html = browser.execute_script("return document.documentElement.outerHTML")
browser.close()