分享文章: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提交系统,让页面更靠前!

  软件相关

  

  外部链接是指从其他网站导入自己网站的链接。传入链接是 网站 优化的一个非常重要的过程。传入链接的质量(即传入链接所在页面的权重)间接影响我们的网站在搜索引擎中的权重。

  外部链接是互联网的血液,是链接的一种。没有链接,信息是孤立的,因此我们什么也看不到。一个网站很难面面俱到,所以需要和其他网站链接,吸收其他网站可以补充的信息。外部链接的数量不在于数量,而在于链接的质量。

  外链的作用不仅仅是增加网站的权重,也不仅仅是提高某个关键词的排名。高质量的外链可以为网站带来不错的流量。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线