Python 为什么美丽的汤不提取所有的;a「;来自网站的标签
我正在学习BeautifulSoup,我试图从一个网站中提取所有的“a”标签。我收到了很多“a”标签,但很少有被忽略,我很困惑为什么会发生这种情况。我们将非常感谢您的帮助。Python 为什么美丽的汤不提取所有的;a「;来自网站的标签,python,beautifulsoup,Python,Beautifulsoup,我正在学习BeautifulSoup,我试图从一个网站中提取所有的“a”标签。我收到了很多“a”标签,但很少有被忽略,我很困惑为什么会发生这种情况。我们将非常感谢您的帮助。 我使用的链接是: img: 图像中的红色框是bs4完全忽略的部分。它确实包含“a”标记 代码: import requests import bs4 import re import html5lib res = requests.get('https://www.w3schools.com/python/') soup
我使用的链接是:
img: 图像中的红色框是bs4完全忽略的部分。它确实包含“a”标记 代码:
import requests
import bs4
import re
import html5lib
res = requests.get('https://www.w3schools.com/python/')
soup = bs4.BeautifulSoup(res.text,'html5lib')
try:
links_with_text = []
for a in soup.find_all('a', href=True):
print(a['href'])
except:
print ('none')
抱歉代码缩进,我是新来的 bs4忽略的链接是动态呈现的,即HTML代码中不存在广告等,但已根据您的浏览器习惯由脚本调用。请求包将只获取静态HTML内容,您需要模拟浏览器来获取动态内容
Selenium可用于任何浏览器,如Chrome、Firefox等。如果您希望在服务器上获得相同的结果(无UI),请使用无头浏览器,如Phatomjs。动态呈现内容。