微信公众号大家都熟知,有的朋友也会运营微信公众号,而且有的时候需要转发别人的公众号而又没有被授权的时候,就是非常头疼。
而且微信公众号的推文封面又不能直接下载,需要从网页上找到其对应的源网址。
也许有的朋友有这种经历,也操作过,其对应的操作也挺繁琐,那么现在,我就把我的爬虫代码分享出来,让大家免去这些繁琐的步骤:
此间简单使用了获取网页信息和对网页信息进行检索的操作:
获取网页信息则是调用的requests库中的get函数,get函数是发送了一个get请求直接获取网页源代码;
检索则是用的正则表达式包re的search函数,通过两次的正则表达式比对确保抓到的网址是我们需要的封面图;
最后由于图片的信息是二进制数据,若要获取其信息须使用函数content,然后新建一个文件来打开它。
import requests import re url = input('input the web:\n') headers = {'user-agent': 'Mozilla/5.0(Windows NT 10.0; WOW64) AppleWebKit/537.36 ' '(KHTML, like Gecko)/57.0.2987.98 Safari/537.36'} r = requests.get(url, headers=headers) #获取页面信息 result = re.search('var msg_cdn_url.*1:1', r.text) #搜寻‘var msg_cdn_url’此条代码,该条为封面的源网址 result2 = re.search('http://.*=jpeg', result.group())#从这条代码中抽取网址 r = requests.get(result2.group(), headers=headers)#进入网址得到图片信息 with open('cover.jpeg', 'wb') as f: f.write(r.content)#保存图片信息
然后运行输入推文网址,即可获得封面图。