按类别使用BeautifulSoup进行Web爬网将返回空列表

时间:2019-09-07 09:49:42

标签: python-3.x beautifulsoup

我正在尝试使用BeautifulSoup在...(下面的屏幕截图)中提取锚标签,但是在只有锚标签起作用的情况下却得到了空列表。

我阅读了BeautifulSoup文档,并尝试了select()方法和find_all()方法,但仍然给出了空列表。

>>> import requests, webbrowser, bs4
>>> res = requests.get('https://www.google.com/search?q=beautiful+soup')
>>> soup = bs4.BeautifulSoup(res.text, 'html.parser')
>>> elems = soup.select('.r a')
>>> len(elems)
0
>>> elems = soup.select('a')
>>> len(elems)
68
>>> elems = soup.select('.r')
>>> len(elems)
0
>>> soup.find_all('a', class_='r')
[]
>>> soup.select('[class~=r]')
[]
>>> soup.find_all('a', class_='r')
[]
>>> soup.find_all('a', _class='r')
[]
>>> soup.find_all('a', {'class_':'r'})
[]
>>> soup.find_all('a', {'_class':'r'})
[]

Div with as class r

1 个答案:

答案 0 :(得分:0)

貌似google.com随机生成了类名,可能是为了防止报废。您的代码可在其他网站上使用

import requests, webbrowser, bs4
res = requests.get('https://html.com')
soup = bs4.BeautifulSoup(res.text, 'html.parser')
elems = soup.select('.post-single p')
len(elems)