2016-04-02 17 views
0

Aşağıdaki kodu kullanarak veri alıp alamayacağımı görmeye çalışıyorum. Bazı nedenlerle, beautifulsoup çıktısı gördüğüm verileri içermiyor. Nerede yanlış gittiğimi merak ediyorum. Farklı türden başlıklar deniyorum, sorunum olduğunu düşünüyorum ama yanılıyor olabilirim. Mesela ben tarayıcısında sayfayı incelemek zaman aşağıdaki yolu bulamayan değilim: <div class="textbold font-medium ng-binding">$25,000</div>urllib2 bir web sitesinden doğru verileri çekmiyor 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 
+0

Gördüğünüz verileri ve ne görmeniz gerektiğini paylaşabilirsiniz? – Sanj

+0

oldukça büyük, ancak tarayıcıdaki sayfayı görebilir ve sağladığım kodu kullanarak sayfayı yazdırabilir ve aynı şey olmadığını görürsünüz. Küçük bir örnek verdim, bu yeterli değilse bana bildirin. – FancyDolphin

+0

Sayfanın çoğu, tarayıcıda yorumlanmış JavaScript koduyla oluşturulmuş gibi görünüyor. Ama BeautifulSoup'in bir JavaScript motoru yok. Örneğin, Selenium'u kullanmayı deneyebilirsiniz. Http://stackoverflow.com/questions/2148493/scrape-html-generated-by-javascript-with-python sayfasına bakın. – mzjn

cevap

3

url yanıtı sizin örnekten yola çıkarak bu

html = urllib2.urlopen(req).read() 

gibi okunacak olan, göründüğü işlenmiş html arıyorsunuz. Senin durumunda

, bir ajax isteği

"https://www.prosper.com/listings/search?options=%7B%22listing_number%22:4964721,%22resp_fields%22:%22BROWSE_LISTING%22,%22orderservice_call%22:%22Y%22%7D"

bu ajax isteğe yanıt yapılır UI üzerine işlenen alır bir json olduğunu.

+0

Bu sorun ya da mutlaka bir sorun olduğunu düşünüyorum, hala gösterdiğim örneği alamıyorsunuz. – FancyDolphin

+0

ajax isteği "https://www.prosper.com/listings/search?options=%7B%22listing_number%22:4964721,%22resp_fields%22:%22BROWSE_LISTING%22,%22orderservice_call%22:%22Y%22 % 7D "sayfa yüklenmesinde çalıştırılıyor. – Sanj

+0

a) Cevabı sevdi, bu ajax isteğini nasıl buldunuz? ve b) bununla çok çalışabileceğimi ve selenyumdan kaçabileceğimi düşünüyor musunuz? (C) teşekkür ederim – FancyDolphin