我正在做一个网络抓取程序,以打开前5个Google搜索结果页。我看到的问题是程序无法根据编程的条件选择指定的CSS选择器。原因是requests.get
方法(或我不知道的其他方法)解析源HTML页面,但使用不同的标识符。
我的代码:
import requests, sys, webbrowser, bs4
print('Googling...')
res = requests.get('https://google.com/search?q=' + ' '.join(sys.argv[1:]))
soup = bs4.BeautifulSoup(res.text, features="html.parser")
linkElems = soup.select('.r a')
numOpen = max(5, len(linkElems))
for i in range(numOpen):
webbrowser.open('https://google.com' + linkElems[i].get('href'))
我感兴趣的一段源HTML中有一个HTML类,显示为。在进行手动搜索时检查网页时会看到此信息。解析代码中的同一类看起来像
由于解析的标识符值不同,因此指令
linkElems = soup.select('.r a')
我的代码中的结果为空列表,脚本无法影响代码中的以下行。
有人可以帮我回答这个问题吗?如何在python3中使用requests.get()
方法解析实际的HTML类(和其他)标签/属性值?
谢谢。