欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python爬取指定微信公眾號文章

 更新時間:2018年12月20日 09:09:47   作者:max_wcsdn  
這篇文章主要為大家詳細介紹了python爬取指定微信公眾號文章,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了python爬取微信公眾號文章的具體代碼,供大家參考,具體內(nèi)容如下

該方法是依賴于urllib2庫來完成的,首先你需要安裝好你的python環(huán)境,然后安裝urllib2庫

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

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

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

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

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

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

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

# 從json對象中取出所需要的url
def jsonObjToArray(jsonObj):
  hrefs = []
  titles = []
  # url中的&在html中是& ,故需要替換,下面為正則
  patten = re.compile(r"&")
  # 數(shù)組
  arr = jsonObj["list"]
  # 循環(huán)添加
  for i in range(len(arr)):
    # 每次替換字符串
    fixHref = re.sub(patten,"&",arr[i]["app_msg_ext_info"]["content_url"])
    # 添加到數(shù)組
    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)
  # 文本轉(zhuǎn)json對象
  jsonObj = htmlToJsonObj(htmlStr)
  # f返回所需要的url數(shù)組
  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

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

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python實現(xiàn)簡單成績錄入系統(tǒng)

    python實現(xiàn)簡單成績錄入系統(tǒng)

    這篇文章主要為大家詳細介紹了python實現(xiàn)簡單成績錄入系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • python os.fork() 循環(huán)輸出方法

    python os.fork() 循環(huán)輸出方法

    今天小編就為大家分享一篇python os.fork() 循環(huán)輸出方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • 創(chuàng)建Django項目圖文實例詳解

    創(chuàng)建Django項目圖文實例詳解

    這篇文章主要介紹了創(chuàng)建Django項目,結(jié)合圖文與實例形式詳細分析了Django項目創(chuàng)建的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2019-06-06
  • Python使用Pandas庫常見操作詳解

    Python使用Pandas庫常見操作詳解

    這篇文章主要介紹了Python使用Pandas庫常見操作,結(jié)合實例形式詳細分析了Python Pandas模塊的功能、原理、數(shù)據(jù)對象創(chuàng)建、查看、選擇等相關(guān)操作技巧與注意事項,需要的朋友可以參考下
    2020-01-01
  • Python構(gòu)建網(wǎng)頁爬蟲原理分析

    Python構(gòu)建網(wǎng)頁爬蟲原理分析

    這篇文章主要給大家講解了構(gòu)建網(wǎng)頁爬蟲的技術(shù)原理以及實現(xiàn)的邏輯關(guān)系,有興趣的朋友閱讀下吧。
    2017-12-12
  • python多線程抓取天涯帖子內(nèi)容示例

    python多線程抓取天涯帖子內(nèi)容示例

    這篇文章主要介紹了python多線程抓取天涯帖子內(nèi)容示例,需要的朋友可以參考下
    2014-04-04
  • python目標檢測yolo1?yolo2?yolo3和SSD網(wǎng)絡(luò)結(jié)構(gòu)對比

    python目標檢測yolo1?yolo2?yolo3和SSD網(wǎng)絡(luò)結(jié)構(gòu)對比

    這篇文章主要為大家介紹了python目標檢測yolo1?yolo2?yolo3和SSD網(wǎng)絡(luò)結(jié)構(gòu)對比,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • pandas如何將DataFrame?轉(zhuǎn)為txt文本去除引號

    pandas如何將DataFrame?轉(zhuǎn)為txt文本去除引號

    這篇文章主要介紹了pandas如何將DataFrame?轉(zhuǎn)為txt文本去除引號,文中補充介紹了DataFrame導CSV?txt?||?每行有雙引號的原因及解決辦法,感興趣的朋友跟隨小編一起看看吧
    2024-01-01
  • Python統(tǒng)計字符內(nèi)容的占比的實現(xiàn)

    Python統(tǒng)計字符內(nèi)容的占比的實現(xiàn)

    本文介紹了如何使用Python統(tǒng)計字符占比,包括字符串中字母、數(shù)字、空格等字符的占比,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-08-08
  • python定時任務(wù)apscheduler的詳細使用教程

    python定時任務(wù)apscheduler的詳細使用教程

    APScheduler的全稱是Advanced?Python?Scheduler,它是一個輕量級的?Python定時任務(wù)調(diào)度框架,下面這篇文章主要給大家介紹了關(guān)于python定時任務(wù)apscheduler的詳細使用教程,需要的朋友可以參考下
    2022-02-02

最新評論