如何从特定域集中提取链接?

2024-10-01 22:34:18 发布

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

我想从网页中提取链接。链接应该从3个域只有。如何使用BeautifulSoup

我有以下代码,可以很好地从提到的域中提取所有链接:

for link in soup.select("a[href^='http://ABCD.tv/']"):
    print link.get('href')

但是我想添加另外两个域,比如https://AABCD.tvhttp://FFGV.VV

我尝试了|运算符,但它不起作用:

for link in soup.select("a[href^='http://ABCD.tv/'|'https://AABCD.tv'|'http://FFGV.VV']"):

任何帮助都将不胜感激


Tags: inhttpshttp网页for链接linktv
1条回答
网友
1楼 · 发布于 2024-10-01 22:34:18

我想你需要的是:

for link in soup.select("a[href^='http://ABCD.tv/'],a[href^='https://AABCD.tv'],a[href^='http://FFGV.VV']"):

或者如果你有一长串的URL基,你可以:

url_bases = ['http://ABCD.tv/', 'https://AABCD.tv', 'http://FFGV.VV']
for link in soup.select(','.join(f"a[href^='{base}']" for base in url_bases)):
    # ...

(如果使用python3.5或更早版本,则将f"a[href^='{base}']"替换为"a[href^='{}']".format(base)

相关问题 更多 >

    热门问题