91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用python怎么爬取指定微信公眾號的文章

發布時間:2021-06-15 17:01:29 來源:億速云 閱讀:615 作者:Leah 欄目:開發技術

這篇文章將為大家詳細講解有關使用python怎么爬取指定微信公眾號的文章,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

首先你需要安裝好你的python環境,然后安裝urllib2庫

程序的起始方法(返回值是公眾號文章列表):

def openUrl():
  print("啟動爬蟲,打開搜狗搜索微信界面")
  # 加載頁面
  url = 'http://weixin.sogou.com/weixin?type=1&s_from=input&query=要爬取的公眾號名稱'
  htmlContentObj = urllib2.urlopen(url)
  # 將頁面轉化為文本
  html = htmlContentObj.read()
  # 正則匹配
  str = re.findall(r"http://mp.weixin.qq.com/profile.+==",html)
  # 替換轉義符得到可訪問的鏈接地址
  tempHref = re.sub(r"&","&",str[0])
  return tempHref

根據獲取到的文章列表的頁的鏈接地址(注意是文章列表頁面的得鏈接地址,不是文章的地址)將頁面讀取為文本

# 獲取頁面文本方法
def getHtmlStr(conurl):
  # 相當于把頁面轉化為文本
  response = urllib2.urlopen(conurl)
  # 讀取文本的字符串
  htmlStr = response.read()
  return htmlStr

對讀取為文本的頁面進行分析并利用正則匹配獲得公眾號里面文章的標題,鏈接地址等內容得json對象

# 文本轉換為所需要的json對象
def htmlToJsonObj(htmlStr):
  # 正則匹配并得到需要的json字符串
  jsonObjstr = re.findall(r"{\"list\":\[.+\]\}", htmlStr)
  # 字符串轉json
  jsonObj = json.loads(jsonObjstr[len(jsonObjstr)-1])
  return jsonObj

然后從json對象中取出title,拼接url等(我這里只是獲取了鏈接地址和標題),將兩個內容分別存在兩個數組,以json對象的方式返回出去(注意拼接url的時候要替換掉轉義符(&))

# 從json對象中取出所需要的url
def jsonObjToArray(jsonObj):
  hrefs = []
  titles = []
  # url中的&在html中是& ,故需要替換,下面為正則
  patten = re.compile(r"&")
  # 數組
  arr = jsonObj["list"]
  # 循環添加
  for i in range(len(arr)):
    # 每次替換字符串
    fixHref = re.sub(patten,"&",arr[i]["app_msg_ext_info"]["content_url"])
    # 添加到數組
    titles.append(arr[i]["app_msg_ext_info"]["title"])
    hrefs.append("https://mp.weixin.qq.com"+fixHref)
  jsons = {"hrefs":hrefs,"titles":titles}
  return jsons
#打開瀏覽器,進行工作
def start():
  tempHref = openUrl()
  # 獲取頁面文本
  htmlStr = getHtmlStr(tempHref)
  # 文本轉json對象
  jsonObj = htmlToJsonObj(htmlStr)
  # f返回所需要的url數組
  return jsonObjToArray(jsonObj)

最后通過啟動程序的方法啟動爬蟲并打印爬取到的信息

if __name__=='__main__': 
  try:
    hrefs = start()
    count = len(hrefs["hrefs"])
    for i in range(count):
      print("標題:"+hrefs["titles"][i].encode("utf-8"))
      print("爬取到的路徑:"+hrefs["hrefs"][i].encode("utf-8"))
    print("------------->>爬取并打印完畢")
  except Exception as e:
    print(str(e))

程序需要導入的包

import urllib2
import json
import re

依次賦值以上代碼,填寫要爬取的公眾號,運行即可

關于使用python怎么爬取指定微信公眾號的文章就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东丽区| 通江县| 岑溪市| 开原市| 奉节县| 平原县| 包头市| 阳信县| 科尔| 龙里县| 体育| 多伦县| 荣昌县| 望江县| 广东省| 兰西县| 察雅县| 香格里拉县| 临夏市| 沧州市| 许昌市| 赣州市| 公安县| 吐鲁番市| 大埔区| 绥阳县| 茶陵县| 塔城市| 祥云县| 宝丰县| 赤城县| 色达县| 上虞市| 乌苏市| 绵阳市| 邵东县| 温泉县| 响水县| 老河口市| 南华县| 河津市|