Python:解析Google与搜索的链接

时间:2017-02-02 08:27:09

标签: python python-requests google-search

我需要在Google搜索后解析带有结果的链接。 当我尝试查看页面代码和Ctrl + U时,我无法找到包含链接的元素,我想要的是什么。 但是当我看到元素的代码时 Ctrl + Shift + I我可以看到我应该解析什么元素来获取链接。 我用代码

url = 'https://www.google.ru/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=' + str(query)
html = requests.get(url).content
soup = BeautifulSoup(html, 'html.parser')
links = soup.findAll('cite')

但它返回空列表,因为没有这个元素。 我认为返回html-code的{​​{1}}并不完整,所以我无法获得这些元素。 我尝试使用requests.get(url).content,但它返回错误google.search 有没有办法在谷歌搜索链接?

2 个答案:

答案 0 :(得分:1)

使用:

url = 'https://www.google.ru/search?q=name&rct=' + str(query)
html = requests.get(url).text
soup = BeautifulSoup(html, 'html.parser')
links = soup.findAll('cite')

答案 1 :(得分:1)

尝试:

url = 'https://www.google.ru/search?q=' + str(query)
html = requests.get(url)
soup = BeautifulSoup(html.text, 'lxml')
links = soup.findAll('cite')
print([link.text for link in links])

要安装lxml,请参阅http://lxml.de/installation.html

*注意:我选择lxml代替html.parser的原因是,有时我的html.parser结果不完整,我不知道为什么