【发布时间】:2015-07-19 13:09:11
【问题描述】:
我正在尝试以编程方式从该网站上抓取所有表格数据 http://www.virginiaequestrian.com/main.cfm?action=greenpages&GPType=8.
理想情况下,这将逐行进行。因此,例如,我可以说抓取每一行的所有表数据,然后能够跳过特定的行。
from bs4 import BeautifulSoup
import requests
r=requests.get('http://www.virginiaequestrian.com/main.cfm?action=greenpages&GPType=8')
soup=BeautifulSoup(r.content,'lxml')
data = []
info = {}
DataGrid=soup.find('table')
for tr in DataGrid.find_all('tr')[1:]:
for td in tr.find_all('td')[0]:
info['Name']=td
for td in tr.find_all('td')[1]:
info['City']=td
for td in tr.find_all('td')[2]:
td=td.strip().replace(',','')
info['Phone']=td
for td in tr.find_all('td')[3]:
info['more']=td
data.append(info)
我尝试过切片,虽然它似乎在 tr 级别工作,但一旦我执行循环要求它查找每一行的所有表数据,我只能取回整个值列表。
【问题讨论】:
-
Datagrid究竟是什么? -
应该是汤的相关选择。
标签: python web-scraping beautifulsoup