基于搜狗微信的公众号文章爬虫
需求分析
先来看一下目标网站。
这次爬取的内容是通过搜狗微信的接口获取微信文章的 url 然后提取目标文章的内容及公众号信息。
可以指定内容进行爬取
那这次需要解决的问题有哪些呢?
需要解决的问题
搜狗微信在没有登录的情况下可以爬取十页信息,我们想要获取更多的信息只能登录。在登录的情况下,爬取数据量太大会被封 IP 。这里给出的解决方案是使用代理池的方法。我这里是自己搭建了一个小的IP代理池,在我以前的文章里有详细的描述,可以 点这里 查看。
代码演示
proxy = None # 声明代理为 None 也就是开始的时候用本机的ip爬取
count_max = 5 # 设置一个连接错误,如果连接超过五次都出错就停止爬取,要不然程序陷入死循环。
# 请求头的设置要加上cookie
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36',}# 获取代理
def get_proxy():proxy = GetIP()return proxy.get_random_ip()# 请求页面,这里主要使用了代理,一开始使用的是本机代理,被封之后换个ip来爬。
def get_request(url,count=1):global proxyif count >= count_max:print('请求太多次了,这个方法不行啦,换换吧')try:if proxy:
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
