私は以下のコードを使用してデータを取得できるかどうかを確認しようとしています。なんらかの理由で、beautifulsoupプリントアウトには私が見るデータが含まれていません。私はどこが間違っているのだろうと思っています。私は別の種類のヘッダーを試していましたが、これは私の問題があると思うところですが、私は間違っているかもしれません。例えば、私は、ブラウザ上でページを閲覧する場合は、次のパスを見つけることができませんよ:<div class="textbold font-medium ng-binding">$25,000</div>
urllib2がウェブサイトのPython 2.7から適切なデータを取得していない
import urllib2
from bs4 import BeautifulSoup
url='https://www.prosper.com/listings#/detail/4964721'
hdr = {'Accept': 'text/html,application/xhtml+xml,*/*',"user-agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36"}
req=urllib2.Request(url,headers=hdr)
html = urllib2.urlopen(req)
soup=BeautifulSoup(html,"lxml")
print soup
あなたはあなたが見ているデータとあなたが見たいものを共有できますか? – Sanj
かなり大きいですが、ブラウザでそのページを見るだけで、私が提供したコードを使ってページを印刷することができます。そして、それらは同じものではありません。私は小さな例を提供しましたが、十分でないかどうか私に教えてください。 – FancyDolphin
ほとんどのページは、ブラウザで解釈されたJavaScriptコードによって生成されたようです。しかし、BeautifulSoupにはJavaScriptエンジンがありません。たとえば、セレンを使用しようとする可能性があります。 http://stackoverflow.com/questions/2148493/scrape-html-generated-by-javascript-with-pythonを参照してください。 – mzjn