BeautifulSoup之后如何获取页面的url?res = requests.get('http://www.example.com')soup = BeautifulSoup(res.text, 'lxml')如何http://www.example.com从汤中获得?
3 回答
BIG阳
TA贡献1859条经验 获得超6个赞
尝试这个:
soup.url = 'http://www.example.com'
传递soup
给函数后,您可以调用soup.url
get http://www.example.com
。
德玛西亚99
TA贡献1770条经验 获得超3个赞
您可以从 requests 对象中获取 url:
res = requests.get('http://www.example.com')
soup = BeautifulSoup(res.text, 'lxml')
res.url
BeautifulSoup是一个标记解析器,因此它只知道你传递给它的 res.text 的 html。如果网站 url 在网站的某处使用,您可以使用它BeautifulSoup来解析适当的元素并获取该 url。
不过,这远非最佳方法。
泛舟湖上清波郎朗
TA贡献1818条经验 获得超3个赞
如果网页有link标签,您可以使用
link = soup.find('link')
print (link['href'])
否则,您无法使用 BeautifulSoup 获取 url(如果它不在任何 html 标签中)。在这种情况下res.url,像上面所说的 @Simas 那样使用或使用 request.Request(实际上它相同res.url但用法不同),例如:
import requests
req = requests.Request('GET', 'http://www.example.com')
url = req.url
print (url)
添加回答
举报
0/150
提交
取消