我正在尝试获取页面链接到的页面列表(使用标记)。解析页面时我使用BeautifulSoup:
page = opener.open(url)
soup = BeautifulSoup(page.read(), features='lxml')
links = soup.findAll("a", href=True)
for link in links:
validLink = bool(re.match(r'^(?:https?:\/\/)?(?:[^@\/\n]+@)?(?:www\.)?([^:\/\n]+)', link["href"]))
if validLink:
myset.append(link["href"])
这样它就会查找<a href>
标签来查找链接并返回链接页面的URL。但是myset中生成的url看起来像这样:
如何过滤带有井号的链接?此外,如果我想过滤广告链接或视频,...我应该使用标签的哪个元素?
对于以http或https开头的链接(您只需要声明http),您可以将属性选择器与start with operator一起使用
links = [item['href'] for item in soup.select('[href^=http]')]
对于广告链接/视频 - 您希望包含还是排除?我们需要查看相关的html。有网址可以使用吗?