[英]Scrape Table Data from Website
我正在嘗試使用BeautifulSoup4和Python從網站上抓取表格數據,然后使用結果創建一個Excel文檔。 到目前為止,我有這個:
import urllib2
from bs4 import BeautifulSoup
soup = BeautifulSoup(urllib2.urlopen('http://opl.tmhp.com/ProviderManager/SearchResults.aspx?TPI=&OfficeHrs=4&ProgType=STAR&UCCIndicator=No+Preference&Cnty=&NPI=&Srvs=6&Age=All&Gndr=B&SortBy=Distance&ZipCd=78552&SrvsOfrd=0&SpecCd=0&Name=&CntySrvd=0&Plan=H3&WvrProg=0&SubSpecCd=0&AcptPnt=Y&Rad=200&LangCd=99').read())
for row in soup('table', {'class' : 'spad'})[0].tbody('tr'):
tds = row('td')
print tds[0].string, tds[1].string
但它無法顯示數據。
有任何想法嗎?
首先,該類是StandardResultsGrid
,而不是spad
。
其次,你不需要tbody
的事情。 只需使用:
for row in soup('table', {'class' : 'StandardResultsGrid'})[0]('tr'):
還要注意,因為在原來的頁面標題行包含在tbody
出於某種原因,你必須跳過第一行,所以
for row in soup('table', {'class' : 'StandardResultsGrid'})[0]('tr')[1:]
並請注意,某些單元格中包含table
,因此您必須仔細解析td
的內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.