【发布时间】:2015-10-06 16:46:48
【问题描述】:
我正在尝试用 Python 2.7.9 编写一个程序,以从 http://tennishub.co.uk/ 网站上抓取和收集俱乐部名称、地址和电话号码
以下代码完成了工作,除了它不会移动到每个位置的后续页面,例如
/Berkshire/1
/Berkshire/2
/Berkshire/3
..等等。
import requests
from bs4 import BeautifulSoup
def tennis_club():
url = 'http://tennishub.co.uk/'
r = requests.get(url)
soup = BeautifulSoup(r.text)
for link in soup.select('div.countylist a'):
href = 'http://tennishub.co.uk' + link.get('href')
pages_data(href)
def pages_data(item_url):
r = requests.get(item_url)
soup = BeautifulSoup(r.text)
g_data = soup.select('table.display-table')
for item in g_data:
print item.contents[1].text
print item.contents[3].findAll('td')[1].text
try:
print item.contents[3].find_all('td',{'class':'telrow'})[0].text
except:
pass
try:
print item.contents[5].findAll('td',{'class':'emailrow'})[0].text
except:
pass
print item_url
tennis_club()
我已尝试根据我的理解调整代码,但它根本不起作用。
谁能告诉我我需要做什么,以便程序遍历一个位置的所有页面,收集数据并移动到下一个位置等等。
【问题讨论】:
标签: python-2.7 pagination beautifulsoup web-crawler