繁体   English   中英

如何从 python 中的多个网页获取所有链接?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM