Python は、強力なデータ処理機能と Web クローリング機能を備えたエレガントなプログラミング言語です。デジタル時代において、インターネットには大量のデータが溢れており、クローラはデータを取得する重要な手段となっており、Python クローラはデータ分析やマイニングに広く使用されています。
この記事では、Python クローラーを使用して WeChat 公開アカウントの記事情報を取得する方法を紹介します。 WeChat 公式アカウントは、オンラインで記事を公開するための人気のソーシャル メディア プラットフォームであり、多くの企業やセルフメディアのプロモーションとマーケティングのための重要なツールです。
次の手順:
Python には、選択できる多くのクローラー ライブラリがあります。この例では、Python クローラー ライブラリ beautifulsoup4 を使用して、WeChat パブリック アカウントの記事情報を抽出します。 pip を使用してこのライブラリをインストールします。
pip install beautifulsoup4
パブリック アカウントの履歴記事を取得するのは非常に簡単です。まず、パブリック アカウントの名前または ID を見つける必要があります。たとえば、「Zen of Python」パブリック アカウントの ID は「Zen-of-Python」です。
WeChat Web版から直接データを取得することは難しいため、記事一覧ページを簡単に取得するツールが必要です。ここでは、WeChat上の各公開アカウントの記事一覧ページを簡単に取得できるSogou WeChat Searchが提供するサービスを利用します。
ブラウザの動作をシミュレートし、検索エンジンを通じて記事一覧ページを取得するには、ロボット フレームワークと Selenium ライブラリをインストールする必要があります。
pip install robotframework pip install robotframework-seleniumlibrary pip install selenium
各記事リンクについて、記事のタイトル、公開時刻、著者などの追加の記事情報も取得する必要があります。ここでも、 beautifulsoup4 ライブラリを使用してこの情報を抽出します。
次のコード スニペットは、パブリック アカウントの記事リンク、各記事のタイトル、公開時間、閲覧量、いいね! の数をキャプチャできます:
import requests from bs4 import BeautifulSoup import time url = "http://weixin.sogou.com/weixin?type=1&query={}".format("Python之禅") # 使用Selenium工具来模拟浏览器操作 from selenium import webdriver driver = webdriver.Chrome() driver.get(url) # 执行搜索动作 search_box = driver.find_element_by_xpath('//*[@id="query"]') search_box.send_keys(u"Python之禅") search_box.submit() # 点击搜索结果中的公众号 element = driver.find_element_by_xpath('//div[@class="news-box"]/ul/li[2]/div[2]/h3/a') element.click() # 等待页面加载 time.sleep(3) # 点击“历史消息”链接 element = driver.find_element_by_xpath('//a[@title="历史消息"]') element.click() # 等待页面加载 time.sleep(3) # 获取文章链接 soup = BeautifulSoup(driver.page_source, 'html.parser') urls = [] for tag in soup.find_all("a", href=True): url = tag["href"] if "mp.weixin.qq.com" in url: urls.append(url) # 获取每篇文章的标题、发布时间、阅读量和点赞数 for url in urls: response = requests.get(url) response.encoding = 'utf-8' soup = BeautifulSoup(response.text, 'html.parser') title = soup.find('h2', {'class': 'rich_media_title'}).text.strip() date = soup.find('em', {'id': 'post-date'}).text.strip() readnum = soup.find('span', {'class': 'read_num'}).text.strip() likenum = soup.find('span', {'class': 'like_num'}).text.strip() print(title, date, readnum, likenum)
上記はこの記事のPython実戦:WeChatパブリックアカウントクローラーの全内容。このクローラーは、WeChat 公開アカウントの履歴記事から関連情報を取得し、Beautifulsoup4 ライブラリと Selenium ツールを通じてより具体的な抽出処理を実行できます。 Python クローラーを使用してより貴重な情報を発見することに興味がある場合は、この例が優れた出発点となります。
以上がPython での実践的なクローラー戦闘: WeChat パブリック アカウント クローラーの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。