私はWebクローラを作成しています。私は見出しを抽出し、これについての主な議論はlinkですが、コメントのいずれかを見つけることができません(Ctrl + u - > Ctrl + f。コメントテキスト)。コメントはJavaScriptで書かれていると思います。それを抽出することはできますか?python3を使用してhttps://www.rt.com/から任意のページのコメントを抽出できますか?
答えて
はい、ウェブブラウザで見ることができれば、それを抽出することができます。
ソースを見ると実際にはJavaScriptが読み込まれたiframeであり、ドキュメントにはそのスクリプトタグのソースでbundle.jsをロードする新しいタグが作成されます。このタグにはコメントのソフトウェアが含まれています。これは次に、実際のコメントを取得します。
これを手動で行う代わりに、Webkitなどを使用して、通常のブラウザのようにJavaScriptを実行するヘッドレスブラウザを作成することを検討できます。次に、手動でクローラーに外部リソースをフェッチさせる代わりに、そこから踏み込むことができます。
このようなヘッドレスブラウザの例は、Spynner,Dryscape、またはPhantomJS由来のPhantomPyです(後者は現在放棄されているプロジェクトのようです)。
RTあなたはJSONとしてのコメントを取得するにはhttps://api.spot.im/conversation-read/spot/sp_6phY2k0C/post/353493/get
そして、トークンを取得するhttps://api.spot.im/me/network-token/spotim
最初、2つのPOSTリクエストを作る行う必要があり、コメント
ためspot.imからサービスを使用しています。
は、私が "// www.spot.im/launcher/bundle.js")、 `ドキュメントを見て、このimport requests
import re
import json
def get_rt_comments(article_url):
spotim_spotId = 'sp_6phY2k0C' # spotim id for RT
post_id = re.search('([0-9]+)', article_url).group(0)
r1 = requests.post('https://api.spot.im/me/network-token/spotim').json()
spotim_token = r1['token']
payload = {
"count": 25, #number of comments to fetch
"sort_by":"best",
"cursor":{"offset":0,"comments_read":0},
"host_url": article_url,
"canonical_url": article_url
}
r2_url ='https://api.spot.im/conversation-read/spot/' + spotim_spotId + '/post/'+ post_id +'/get'
r2 = requests.post(r2_url, data=json.dumps(payload), headers={'X-Spotim-Token': spotim_token , "Content-Type": "application/json"})
return r2.json()
if __name__ == '__main__':
url = 'https://www.rt.com/usa/353493-clinton-speech-affairs-silence/'
comments = get_rt_comments(url)
print(comments)
javascriptの素材をこする2つの要求はできますか? – user6575792
JavaScriptを心配する必要はありません。上記のメソッドはJSON形式のコメントを提供します(これは、ブラウザのJavaScriptがコメントを表示するために使用しているデータです)。スクリプト – Mono
を実行してみてください。1. jsonが返されました。 'comment.text'はメソッドではありません。 2. http:// www.aljazeera.com /から同じ(コメント抽出)をしたい。私はファントムズとファントパイについて読んだ。この目的のために使用できますか? – user6575792
- 1. PhantomJSを使用してpython3の任意のウェブサイト(.jsファイルのコメント)からコメントを抽出します
- 2. web2pyアプリケーションの任意のページからクエリパラメータを抽出して保存する
- 3. disqusを使用して記事からコメントを抽出する
- 4. 任意のページからrootViewControllerページに移動できますか?
- 5. lxmlとxpathを使用してWebページからコメントを抽出するときのUnicodeDecodeError
- 6. bs4/python3を使ってhrefを抽出していますか?
- 7. Jsoup - Webページからコメント番号を抽出しようとしています
- 8. 文字列から任意のASCIIコードを抽出して変換する
- 9. Ruby - Regexを使用して任意のhtmlページからTwitterのURLを照合
- 10. PowerShellとRegexを使用して、どのようにして文字列から任意の順序でデータを抽出できますか?
- 11. PHPを使用してPDFファイルからページを抽出する
- 12. WebページからPythonを使用してセクションを抽出する
- 13. 任意のネストされたjsonデータから任意のネストされたjsonデータをjqで抽出する
- 14. Jsoupを使用してWebページから情報を抽出
- 15. Web廃棄 - pythonを使用してページからデータを抽出
- 16. htmlページからPHPを使用してhrefを抽出
- 17. regexを使用してhtmlページからデータを抽出しています
- 18. NLPを使用してチェックインとコメントから情報を抽出する
- 19. Javaバイトコードの任意のシーケンスを抽出して実行する
- 20. jqueryを使用してページ上の任意のポイントでdivをランダムに注文できますか?
- 21. VSIXを使用して任意のメモリアドレスからデータを取得
- 22. 任意のアプリケーションからのデータ使用
- 23. Pythonを使用してWebページからCSVファイルにテーブルを抽出します
- 24. HTMLParserを使用してページから絶対リンクを抽出します
- 25. JSOUPを使用してWebページからリンクを抽出します
- 26. Python3を使用してLinuxから出力データをフォーマットできません
- 27. ODP.NETを使用して任意のOracle SQLスクリプトを実行できますか?
- 28. 任意のメトリックを使用してKD-Treeを検索できますか?
- 29. Pythonのページからすべてのリンクを抽出します。
- 30. PHPを使用したPDFからのコメントやブックマークなどのメタデータの抽出
を行うための迅速なスクリプトを書きました;'しかし、ファイルがある場合?コメントを抽出するためにそのファイルに入ることはできますか? – user6575792
URLからファイルをダウンロードする必要があります。ブラウザは、iframeのsrcとして参照すると自動的にそのファイルをダウンロードします。コメントはそのファイルに直接格納されないため、そこからコメントを抽出することはできません。これは、コメントを処理するためのコードです。 – jksoegaard
あなたはコメントのようなものを抽出するいくつかの例を紹介してくれますか?チュートリアルやコードは?私はそれがどうやってできるのか理解したいですか? – user6575792