如何获取soup代表的url?

BeautifulSoup之后如何获取页面的url?


res = requests.get('http://www.example.com')

soup = BeautifulSoup(res.text, 'lxml')

如何http://www.example.com从汤中获得?


梵蒂冈之花
浏览 234回答 3
3回答

BIG阳

尝试这个:soup.url = 'http://www.example.com'传递soup给函数后,您可以调用soup.urlget http://www.example.com。

德玛西亚99

您可以从 requests 对象中获取 url:res = requests.get('http://www.example.com')soup = BeautifulSoup(res.text, 'lxml')res.urlBeautifulSoup是一个标记解析器,因此它只知道你传递给它的 res.text 的 html。如果网站 url 在网站的某处使用,您可以使用它BeautifulSoup来解析适当的元素并获取该 url。不过,这远非最佳方法。

泛舟湖上清波郎朗

如果网页有link标签,您可以使用link = soup.find('link')print (link['href'])否则,您无法使用 BeautifulSoup 获取 url(如果它不在任何 html 标签中)。在这种情况下res.url,像上面所说的 @Simas 那样使用或使用 request.Request(实际上它相同res.url但用法不同),例如:import requestsreq = requests.Request('GET', 'http://www.example.com')url = req.urlprint (url)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python