ホームページ  >  記事  >  バックエンド開発  >  python3 は WeChat 記事をクロールします

python3 は WeChat 記事をクロールします

巴扎黑
巴扎黑オリジナル
2017-07-21 13:46:321541ブラウズ

前提条件:

python3.4

windows

機能: Sogou の WeChat 検索インターフェイスを通じて関連する WeChat 記事を検索し、タイトルと関連リンクを Excel テーブルにインポートします

説明: xlsxwriter モジュールが必要であり、プログラムの記述時刻は 2017/7/11 です。後でプログラムが使用できなくなる場合は、Web サイトに関連する変更が加えられたことが原因である可能性があります。プログラムは比較的単純で、40 行以上のコメントが削除されています。

トピック:

アイデア: 最初の URL を開きます --> タイトルとリンクを定期的に取得します --> 2 番目のステップでページのループを変更します --> 取得したタイトルとリンクを Excel にインポートします

クローラーのステップは、最初は手動で行う必要があります (噂話)

上記の Web サイトを入力し、「画像認識」と入力して検索すると、Web サイトが「」に変わり、重要なパラメーターとして赤でマークされます。 type=1、とりあえず関係なく公式アカウントを検索するためです query='検索キーワード'、キーワードがエンコードされていて、隠しパラメータpage=1があります

2番目に飛ぶとページを見ると、「」が表示されます

OK、URLは取得できます

1 url = 'http://weixin.sogou.com/weixin?type=2&query='+search+'&page='+str(page) )

searchは検索するキーワードで、quote()エンコードで挿入できます

1 search = urllib.request.quote(search)

pageはループに使用されます

1 for page in range(1,pagenum+1):
2     url = 'http://weixin.sogou.com/weixin?type=2&query='+search+'&page='+str(page)

完全なURLが取得できました 次にアクセスします。 URL を取得してデータを取得します (オープナー オブジェクトを作成し、header() を追加します)

1 import urllib.request
2     header = ('User-Agent','Mozilla/5.0')
3     opener = urllib.request.build_opener()
4     opener.addheaders = [header]
5     urllib.request.install_opener(opener)
6     data = urllib.request.urlopen(url).read().decode()

ページのコンテンツを取得し、正規表現を使用して関連データを取得します

1 import re
2     finddata = re.compile('<a target="_blank" href="(.*?)".*?uigs="article_title_.*?">(.*?)</a>').findall(data)
3     #finddata = [('',''),('','')]

干渉アイテムがあります (リンク: 'amp;')無関係な項目 (タイトル: '<...> ;<....>') を解決するには replace() を使用してください

1 title = title.replace('<em><!--red_beg-->','')
2 title = title.replace('<!--red_end--></em>','')
1 link = link.replace('amp;','')

リスト内のタイトルとリンクを処理しました

1 title_link.append(link)
2 title_link.append(title)

検索されたタイトルとリンクが取得されたので、次に Excel をインポートします

まず Excel を作成します

1 import xlsxwriter
2 workbook = xlsxwriter.Workbook(search+'.xlsx')
3 worksheet = workbook.add_worksheet('微信')

title_link のデータを Excel にインポートします

1 for i in range(0,len(title_link),2):
2     worksheet.write('A'+str(i+1),title_link[i+1])
3     worksheet.write('C'+str(i+1),title_link[i])
4 workbook.close()

フルコード:

りー

以上がpython3 は WeChat 記事をクロールしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。