使用Python和Beautiful Soup提取不是直接网页上的文本

2024-10-02 22:28:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在努力做到以下几点:

  1. 页面上的拾取文本(与浏览器打开不同)
  2. 处理多个页面

情况是:

我正在尝试使用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” 它通向this member page。但实际上,当直接输入这个网址时,它不会进入成员列表页面。你知道吗

那我怎么才能拿到会员名单呢?你知道吗

另一个非常重要的问题是:页面持续到45页,也许将来它会改变。如何让Python代码知道如何逐页选择它们?你知道吗


Tags: 文本http列表网站www情况浏览器公司
1条回答
网友
1楼 · 发布于 2024-10-02 22:28:36

你可以试着为页面创建一些机器人。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,打开tab Network,然后重新加载页面。你可以看到所有的需求,并在此列表中,你可以找到正确的数据网址。你知道吗

相关问题 更多 >