首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >没有得到正确的url漂亮的python

没有得到正确的url漂亮的python
EN

Stack Overflow用户
提问于 2018-06-17 21:40:51
回答 1查看 122关注 0票数 0

我正在尝试使用python和漂亮汤来抓取谷歌搜索结果。在我的第一个程序中,我只是尝试获取搜索结果页面上的所有链接。最终,我想做的是跟随其他网站的链接,然后抓取这些网站。问题是当我查看我的程序给我的链接时,它们并没有指向正确的url。例如,在谷歌中搜索“什么是python”后的第一个网站url是'https://www.python.org/doc/essays/blurb/‘,但是我的程序给了我'/url?q=https://www.python.org/doc/essays/blurb/&sa=U&ved=0ahUKEwirv7mZzNnbAhXD5YMKHdl0AFsQFggUMAA&usg=AOvVaw3Q2RD0gl-X3BiEJ-5HIxmF

回顾BeautifulSoup文档,我期望得到类似于他们的示例的输出:

代码语言:javascript
复制
for link in soup.find_all('a'):
    print(link.get('href'))
# http://example.com/elsie
# http://example.com/lacie
# http://example.com/tillie

相反,我得到的是前面的'/url?q=‘和网站地址后面的许多未解析的字符。有人能解释一下为什么我没有得到预期的输出吗?下面是我的代码:

代码语言:javascript
复制
import requests
from bs4 import BeautifulSoup

search_item = 'what is python'
url = "https://www.google.ca/search?q=" + search_item

response = requests.get(url)
soup = BeautifulSoup(response.text, "lxml")

for link in soup.find_all('a'):
    print(link.get('href'))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-11 09:17:49

我想为这个问题提供一个更新。我通过添加一个标题发现了这一点:

代码语言:javascript
复制
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) '
                         'AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 
Safari/537.36'}
r = requests.get(url, headers=headers)

google为我提供了正确的链接,我不需要对字符串进行任何操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50897213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档