0

ウェブサイト url= http://m.ibuildapp.com/site/ibuildapp_3/default?filter=webapp&searchText=&searchCat=254&page=1&url=http%3A%2F%2Fibuildapp.com%2Fprojects.php%3F#2601 でクロールした場合Java (JSOUP) は完全なソース コードを取得しません (AJAX はありません) が、python urllib2 は html 全体を簡単に取得します。Java コード:

Document doc = Jsoup.connect(url).userAgent("Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7").timeout(10000).get();

ページのソース コードの半分しか取得しないのに対し、Python コードは

import urllib2
request = urllib2.Request("http://m.ibuildapp.com/site/ibuildapp_3/default?filter=webapp&searchText=&searchCat=254&page=1&url=http%3A%2F%2Fibuildapp.com%2Fproject$
opener = urllib2.build_opener()
request.add_header('User-Agent', 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293$
filter=webapp&searchText=&searchCat=254&page=1&url=http%3A%2F%2Fibuildapp.com%2Fprojects$
data = opener.open(request).read()
print data

何が間違っている可能性がありますか?リファラー、Cookie を追加し、ヘッダーも追加しようとしました。

4

1 に答える 1

0

ヘッダーの追加

Accept-Encoding:gzip, deflate 

問題を修正しました

于 2013-06-08T08:33:11.440 に答える