Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 解析多个URL并提取数据 我需要解析一个HTML页面,得到所有符合我要求的URL_Python_Regex_Beautifulsoup_Parse Url - Fatal编程技术网

Python 解析多个URL并提取数据 我需要解析一个HTML页面,得到所有符合我要求的URL

Python 解析多个URL并提取数据 我需要解析一个HTML页面,得到所有符合我要求的URL,python,regex,beautifulsoup,parse-url,Python,Regex,Beautifulsoup,Parse Url,现在,如果页面标题与某些内容匹配,我需要解析每个提取的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)

现在,如果页面标题与某些内容匹配,我需要解析每个提取的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
pattern=re.compile(r''class=“topline”>首先,您实际上已经用
BeautifulSoup
标记了这个问题,但您仍然在这里使用正则表达式

以下是如何获取链接、跟踪链接并检查
标题的方法:

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
将找到带有
topline
类的任何标记,并将
a
标记放在正下方


希望有帮助。

使用BeutifulSoup或任何其他库解析HTML,不要使用正则表达式。谢谢。它确实有帮助。