0
  1. 我需要解析一个 HTML 页面,获取所有满足我要求的 URL。
  2. 现在,我需要解析每个提取的 URL 以获取我想要的数据,如果页面标题匹配某些内容并根据它们的名称将它们保存到多个文件中。我通过以下方式完成了第 1 部分。

    pattern=re.compile(r'''class="topline"><A href="(.*?)"''')
    da = pattern.search(web_page)
    da = pattern.findall(soup1)
    col_width = max(len(word) for row in da for word in row)
    for row in da:
        if "some string" in row.upper():
            bb = "".join(row.ljust(col_width))
            print >> links, bb
    

我真的很感激任何帮助。谢谢你。

4

1 回答 1

2

首先,不要使用 regex 解析 HTML。您实际上已经用BeautifulSoup标签标记了问题,但您仍然在这里使用正则表达式。

以下是获取链接、关注链接并检查的方法title

from urllib2 import urlopen
from bs4 import BeautifulSoup

URL = "url here"

soup = BeautifulSoup(urlopen(URL))
links = soup.select('.topline > a')
for a in links:
    link = link.get('href')
    if link:
        # follow link
        link_soup = BeautifulSoup(urlopen(link))
        title = link_soup.find('title')
        # check title

.topline > a CSS 选择器会为您找到任何带有topline类的标签并a在下方获取标签。

希望有帮助。

于 2014-07-14T18:16:10.603 回答