我正在尝试执行以下操作:
案例是:
我正在尝试使用Python和Beautifulsoup来获取荷兰语列表 公司网站http://www.fenex.nl。
我尝试了下面的按键,但没有一个能用完。
soup.find_all('span')
soup.find_all('a')
soup.find_all('td')
soup.find_all('tr')
soup.find_all("tr",{"class":"even"})
然后我从主页面找到了“Vind een expediteur”,然后是“Toon alle leden“,它导致this member page。但实际上直接键入此网址时,它不会进入成员列表页面。
那么我该如何获取会员名单呢?
另一个非常重要的问题是:页面持续到45,并且将来可能会发生变化。如何知道Python代码逐页选择它们?
答案 0 :(得分:1)
您可以尝试为页面创建一些机器人。 BeautifulSoap
是用于轻松解析html文本的库,这就是全部。如果您想逐页浏览,则必须使用urllib
进行编写。这是一个简单的例子:
import urllib
from BeautifulSoup import *
url = "http://www.domain.com/page/path?page="
count_of_pages = 10
for page in xrange(1, count_of_pages):
response = urllib.urlopen("%s%d" % (url, page))
webPage = BeautifulSoup(webFile.read())
# Parse page with great module BeaurifulSoap
但是这段代码可以帮助您正常加载页面。该页面从AJAX获取数据。请看这个页面:
http://www.fenex.nl/CMS/asynchronousrendering/CrmSearchResultFenexMemberCompanies/CrmSearchResultFenexMemberCompaniesByMemberCriteriaRenderControl.aspx?_=1384960662265&cid=9&pageNr=1&fenexSearchId=-214748364
我使用chorme,您可以按Ctrl + Shift + J
,打开标签Network
并重新加载页面。您可以看到所有请求,在此列表中,您可以找到包含数据的正确网址。