0

私はpythonが初めてです。URL をスクレイピングするモジュールを作成する過程で、python requests モジュールを使用して得られるものと、ブラウザーで URL を読み込んだ場合に得られるものとが異なる可能性があることに気付きました。これは、実行される JS コードがページに含まれている可能性があり、その結果がブラウザーに表示されるためです。

私の質問 - 1. そのようなサイトにどう対処すればよいですか。

  1. Python またはその他のモジュールは、サーバー側で静的ページまたはページを完全にレンダリングするだけに制限されていますか?

  2. ページをロードするために Ajax スタイルのクエリを実行するページを処理するにはどうすればよいですか?

おそらくこれにはライブラリがなく、自分で何かをしなければならないと思います。コードに webkit のようなものを組み込む必要がないことを願っています :)

助けてくれてありがとう。

4

2 に答える 2

0

mechanizeなどのブラウザをシミュレートするもの、またはseleniumなどの実際にブラウザを駆動するものを調べることができます。これらは、javascript の実行後に表示される html を報告する必要があります。

これは、Selenium で行う必要があることですが、しばらく時間がかかりました。

from selenium import webdriver

br = WebDriver.Ie() #or .Firefox() or .Chrome() (but not on x64)
br.get(r'http://google.com')
html = br.page_source

HTMLの比較では、少なくとも異なります:

from requests import get
r = get(r'http://google.com')
print r.content[:100]
>>><!doctype html><html itemscope="itemscope" itemtype="http://schema.org/WebPage"><head><meta itemprop'
print html[:100]
>>><html itemtype="http://schema.org/WebPage" itemscope="itemscope"><head><meta http-equiv="X-UA-Compat
于 2013-04-06T18:13:42.413 に答える
0

あなたが使用することができます

および関連する質問: Python を使用した Web スクレイピング JavaScript ページ

于 2013-04-06T18:38:23.077 に答える