我是Python新手。我試圖從網站上抓取數據,並且我想要的數據無法在瀏覽器的視圖>來源中看到。它來自另一個文件。使用Beautifulsoup和Python可以在屏幕上刮取實際的數據嗎?美麗的湯 - 數據不在HTML文件中
示例站點WWW [點] catleylakeman [點] CO(點)英國/ cds_banks.php
如果沒有,這可能使用另一條路線?
感謝
我是Python新手。我試圖從網站上抓取數據,並且我想要的數據無法在瀏覽器的視圖>來源中看到。它來自另一個文件。使用Beautifulsoup和Python可以在屏幕上刮取實際的數據嗎?美麗的湯 - 數據不在HTML文件中
示例站點WWW [點] catleylakeman [點] CO(點)英國/ cds_banks.php
如果沒有,這可能使用另一條路線?
感謝
的「其他文件」是http://www.catleylakeman.co.uk/bankCDS.php?ignoreMe=1369145707664 - 你可以發現這一點。(我懷疑你已經有了),通過使用Chrome的開發者工具,網絡選項卡(或在瀏覽器中的等價物)。
這種格式比最終的html更容易解析;如果網站沒有發佈上述原始數據,通常應該使用HTML刮板作爲最後的手段。
打我吧:) – Pykler
我的猜測是,你實際上是在尋找網址是:
http://www.catleylakeman.co.uk/bankCDS.php?ignoreMe=1369146012122
我發現用它開發人員工具欄中,看着網絡流量(內置到Chrome和Firefox,還使用Firebug)。它被Ajax調用。你甚至不需要美麗的湯來解析這個,因爲它似乎是一個很長的字符串,用*|
和有時**|
分開。下面應該讓你初步訪問該數據:
import urllib2
f = urllib2.urlopen('http://www.catleylakeman.co.uk/bankCDS.php?ignoreMe=1369146012122')
try:
data = f.read().split('*|')
finally:
f.close()
print data
..不,BeautifulSoup是刮刮HTML,而不是屏幕;它根本無法幫助屏幕抓取。你最好用它來找到這個'其他文件'的網址,這樣你就可以抓取__that__。 – kampu
好吧,數據似乎是由[本頁](http://www.catleylakeman.co.uk/bankCDS.php)生成的,那麼爲什麼你不使用它? – mata
@mata謝謝你,會做。 – Reno