Python request.get方法无法解析源html

时间:2019-06-13 14:59:11

标签: python-3.x python-requests python-module

我正在做一个网络抓取程序,以打开前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类(和其他)标签/属性值?

谢谢。

0 个答案:

没有答案