コメントをクロール網易クラウド音楽を!本物のpython爬虫類の取得(F)エントリセレン!

爬虫類といえば、初めてコメント網易クラウド音楽を考えるかもしれません。多くの宝物を所持して網易のクラウド音楽の見直し、ののpythonでそれを宝を掘る方法を一緒に学びましょう!

ファイル

それは確かに暗号化キーを使用して、宝物であるからです。ヘッダは以下のクロム分析を開きます。

ファイル

この引数は、かなり複雑に見えます、私たちは、このリンクを呼び出すための要求を持っていません。

今回セレン!ブラウザテスト自動化フレームワークを使用して!これは、ブラウザによって手動操作をシミュレートすることができます!

この目的のために、我々はchromedriverとChromeブラウザを駆動する準備ができなければなりません。

ファイル

chromedriverはクロームブラウザのダウンロードの対応するバージョンを選択し、淘宝網の画像をダウンロードすることができます。下記ダウンロードしてください。
http://npm.taobao.org/mirrors/chromedriver

プロジェクト全体は、サードパーティのライブラリの数とのpython3を使用しています。以下を参照してください。

from selenium import webdriver
import jieba
from wordcloud import WordCloud
from PIL import Image
import numpy as np

[設定 config.json

ファイル

{
  "id":"1336789644",
  "page": 200,
  "useCache": true,
  "font_path": "SimHei.ttf",
  "mask": "mask.png",
  "chromedriver": "chromedriver"
}

ランは、sound.pyワードクラウドを生成します。

ファイル

すべてのデータとコメント

ファイル

使用に読み、その後、リンクを解析するために進んで!

ファイル

網易雲の音楽は、アドレスを見つけ、法律、およびwebdriverを開いての使用を発見しました!

ファイル

driver = webdriver.Chrome(CONFIG['chromedriver'])
driver.get(f'https://music.163.com/#/song?id={SOUND_ID}')

その後、ドライバはコメント欄にフレームに飛び込んだしましょう。

driver.switch_to.frame('g_iframe')

なぜこれを行いますか?それは、使用のxpathのフレーム構造に解決することはできませんので。そして、ちょうどこのiframe内にコメントデータ。

ファイル

1件のコメントを選択して、その構造形式を分析し、あなたは同じクラス名の両方を見ることができます。

ファイル

対応するXPathを書く、すべてのコメントのリストを取得します。

element_list = driver.find_elements_by_xpath('//div[@class="cnt f-brk"]')

フォーマットの構造を分析するための[次へ]ボタンを選択して、あなたはクラス名が接頭辞始まりです見ることができます。

ファイル

対応するXPathを書く、[次へ]ボタンを取得し、必要なときにクリックをシミュレートします。

next_button = driver.find_element_by_xpath('//a[starts-with(@class,"zbtn znxt js-n-")]')
driver.execute_script('arguments[0].click();', next_button)

データ解析が完了した後、結果は自分自身を生成しました。

ファイル

コメント一覧保存JSONです。

with open(filePath,'w') as f:
    json.dump(comments_list,f, ensure_ascii=False, indent=4)

使用jiebaは、単語をwordcloud、ワードクラウドを生成します。

# 词云处理
image_mask = np.array(Image.open(CONFIG['mask']))
wordlist = jieba.cut(';'.join(comments_list))
wordcloud = WordCloud(font_path=CONFIG['font_path'], background_color='white', mask=image_mask, scale=1.5).generate(' '.join(wordlist))
# 保存图
wordcloud.to_file(f'./result/{SOUND_ID}-{PAGES}.png')

これらは、自分の網易クラウド音楽レビューをクロールセレンを使用して全体の手順です!


この記事では、個人ではなく、他の目的のために、共有することを学ぶためのものです!


完全なコード
の参照

おすすめ

転載: www.cnblogs.com/lamyoung/p/12030926.html