![](/img/trans.png)
[英]How to I get Python Scrapy to extract all of the domains of all external links from a web page?
[英]How do I get all the links from multiple web pages in python?
from bs4 import BeautifulSoup
from urllib.request import Request, urlopen
#import re
req = Request("https://www.indiegogo.com/individuals/23489031")
html_page = urlopen(req)
soup = BeautifulSoup(html_page, "lxml")
links = []
for link in soup.findAll('a'):
links.append(link.get('href'))
print(links)
如果我只使用一个 url 但不适用于多个 url,则此代码有效。 如果我想用多个 url 做同样的事情,我该怎么做?
我从未使用过 bs4,但您可以创建一个包含所有要检查的 URL 的列表。 然后,您可以使用循环来单独迭代和处理每个 URL。 喜欢:
urls = ["https://","https://","http://"] #But with actual links
for link in urls:
#Work with each link seperatly here
pass
在这里,我给你留下一个小代码,我在抓取的时候必须做
您可以将其调整为您想要实现的目标..希望对您有所帮助
import requests
from bs4 import BeautifulSoup as bs
url_list=['https://www.example1.com' , 'https://www.example2.com' ]
def getlinks(url) :
r=requests.get(url)
tags_list=[ a for a in bs(r.text,'html.parser').find_all('a')]
links=[ f'{url.split("//")[0]}//{url.split("//")[1]}{link}' if link.split('/')[0]!='https:' else link for link in [href.attrs['href'] if 'href' in href.attrs else '' for href in tags_list ] ]
return links
你可以遍历 url_list 并用它执行 getlinks(url)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.