1

私はpython+mechanizeを使用して、サイトをスクレイプしようとしています。リンク付きでこのサイトにアクセスすると、テキストのみのバージョンのログインページが表示されます。これが私のスクレーパーで見たいものです。それで:

import mechanize

USER_AGENT = "Links (2.3pre1; Linux 2.6.32-5-xen-amd64 x86_64; 80x24)"
mech = mechanize.Browser(factory=mechanize.RobustFactory())
mech.addheaders = [('User-agent', USER_AGENT)]
mech.set_handle_robots(False)

resp = mech.open(URLS['start'])
fnout("001-login.html", resp.read())
resp.close()

fnout文字列をファイルにダンプするだけです。それでも、私が開く001-login.htmlと、ページ全体が「ロボット」という言葉です。他には何もありません。

他にリクエストはありません。ページを読み込んで画像を読み込まなかったわけではありません。これは私が行った最初のリクエストであり、サイトが機能するリンクのバージョンとまったく同じようにUser-Agentを配置しました。私は何を間違っていますか(スクレイプしたくないサイトをスクレイプしようとしている以外に)?

4

1 に答える 1

7

おそらく、Mechanize が送信していない他のヘッダーlinksが送信されているか、またはその逆です。Mechanizeと Mechanizeの両方でhttp://www.reliply.org/tools/requestheaders.phplinksにアクセスし、送信されているヘッダーを確認します。

于 2012-04-19T20:56:03.547 に答える