分享文章:python 公众号 推送_微信公众号推送信息爬取---python爬虫
优采云 发布时间: 2022-12-05 04:39分享文章:python 公众号 推送_微信公众号推送信息爬取---python爬虫
问题描述
使用搜狗微信搜索抓取指定公众号的最新推送,并将对应网页保存到本地。
当心
搜狗微信获取的地址为临时链接,具有时效性。
公众号为动态网页(JavaScript渲染),使用requests.get()获取的内容不收录推送消息,这里使用selenium+PhantomJS处理
编码
#!/usr/bin/env python3
从 selenium 导入 webdriver
从日期时间导入日期时间
导入 bs4,请求
导入操作系统、时间、系统
# 获取公众号链接
def getAccountURL(搜索 URL):
资源 = 请求。得到(搜索网址)
res.raise_for_status()
soup = bs4.BeautifulSoup(res.text, "lxml")
# 选择第一个链接
帐户=汤。选择('a[uigs="account_name_0"]')
返回账户[0]['href']
# 获取第一个文章的链接,如果有验证码则返回None
def getArticleURL(accountURL):
browser = webdriver.PhantomJS("/Users/chasechoi/Downloads/phantomjs-2.1.1-macosx/bin/phantomjs")
# 进入公众号
浏览器。得到(帐户网址)
# 获取网页信息
html = 浏览器。页面来源
accountSoup = bs4.BeautifulSoup(html, "lxml")
时间。睡觉(1)
内容 = accountSoup。查找所有(hrefs=真)
尝试:
partialLink = 内容[1]['hrefs']
firstLink = 基础 + partialLink
除了索引错误:
firstLink = 无
打印('验证码!')
先返回链接
# 创建存放html页面的文件夹,以时间命名
def 文件夹创建():
path = os.path.join(os.getcwd(), datetime.now().strftime('%Y-%m-%d_%H-%M-%S'))
尝试:
os.makedirs(路径)
除了 OSError 为 e:
如果 e.errno != errno.EEXIST:
增加
print("文件夹不存在!")
返回路径
# 在本地编写html页面
def writeToFile(路径,帐户,标题):
pathToWrite = os.path.join(path, '{}_{}.html'.format(account, title))
myfile = open(pathToWrite, 'wb')
myfile.write(res.content)
我的文件。关()
基地='#39;
accountList = ['央视新闻','新浪新闻','凤凰新闻','羊城晚报']
查询='#39;
路径=文件夹创建()
对于索引,枚举中的帐户(accountList):
searchURL = 查询 + 帐户
accountURL = getAccountURL(搜索 URL)
时间。睡觉(10)
文章 URL = getArticleURL(accountURL)
如果 articleURL != None:
print("#{}({}/{}): {}".format(account, index+1, len(accountList), accountURL))
# 读取第一个文章内容
资源 = 请求。获取(文章网址)
res.raise_for_status()
detailPage = bs4.BeautifulSoup(res.text, "lxml")
title = detailPage.title.text
打印(“标题:{}\n链接:{}\n”.format(标题,文章URL))
writeToFile(路径,帐户,标题)
别的:
print('{} 文件成功写入{}'.format(index, path))
系统。出口()
print('{} 文件成功写入{}'.format(len(accountList), path))
参考输出
终端输出
终端输出
发现者
写入的html文件
分析
链接获取
首先进入搜狗的微信搜索页面,在地址栏中提取需要的链接,将公众号名称与字符串连接生成请求链接
对于静态网页,使用requests获取html文件,然后使用BeautifulSoup选择需要的内容
对于动态网页,使用selenium+PhantomJS获取html文件,然后使用BeautifulSoup选择需要的内容
遇到验证码(CAPTCHA)时,输出提示。这个版本的代码实际上并没有处理验证码。需要手动访问然后运行程序才能避开验证码。
文件写入
使用 os.path.join() 构造存储路径可以提高通用性。例如,Windows 路径分隔符使用反斜杠(\),而 OS X 和 Linux 使用正斜杠(/),此功能可以根据平台自动转换。
open()使用b(二进制模式)参数提高通用性(适配Windows)
使用datetime.now()获取当前时间并命名,通过strftime()格式化时间(函数名中的f代表格式)。具体用法参考下表(摘自Automate the Boring Stuff with Python)
时间()
参考链接:
分享文章:USEO外链推送工具
USEO外链推送工具SEO外链优化工具是一款非常好用的SEO外链优化辅助工具。这款USEO外链一键优化助手功能强大,简单易用。使用后,可以帮助用户轻松方便地重点优化SEO外链,使用本软件可以轻松提高百度收录率,为SEO优化带来更多便利,内置网址提交系统。
相关软件软件大小版本说明下载地址
USEO外链推送工具(SEO外链优化工具)是一款非常好用的SEO外链优化辅助工具。USEO外链一键优化助手功能强大,简单易用,使用后可以轻松方便的帮助用户一键优化SEO外链,有了这款软件,我们可以轻松提高百度收录率,为用户带来更多便利SEO优化,内置URL提交系统,让页面更靠前!
软件相关
外部链接是指从其他网站导入自己网站的链接。传入链接是 网站 优化的一个非常重要的过程。传入链接的质量(即传入链接所在页面的权重)间接影响我们的网站在搜索引擎中的权重。
外部链接是互联网的血液,是链接的一种。没有链接,信息是孤立的,因此我们什么也看不到。一个网站很难面面俱到,所以需要和其他网站链接,吸收其他网站可以补充的信息。外部链接的数量不在于数量,而在于链接的质量。
外链的作用不仅仅是增加网站的权重,也不仅仅是提高某个关键词的排名。高质量的外链可以为网站带来不错的流量。