Python3和beauthoulsoup从google获取地址时返回“[]”,而不是地址

2024-10-03 04:28:09 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的python3脚本:

    import bs4, requests
    def getCompAddress(https://www.google.com/search):
    res = requests.get(https://www.google.com/search)
    res.raise_for_status()

    soup = bs4.BeautifulSoup(res.text, 'html.parser')
    elems = soup.select('#rhs_block.LrzXr')
    print(elems)

…这个getCompAddress的url只是google的搜索结果。所以对于Crossings at Five Forks,google在右边显示地址和电话信息。我只想抓取这个地址,我已经把它的CSS路径复制到soup.select。在

但是当我运行这个脚本时,输出的只是“[]”。。。而不是地址。我错过了什么?谷歌能阻止这种刮擦吗?谢谢你的帮助!在


Tags: https脚本comsearch地址wwwgoogleres
2条回答

你应该检查一下res.文本用于站点的html响应的变量。在

您通常应该使用这种方法来调试beauthulsoup scraper,因为许多不同的原因(例如javascript支持或captcha检查),结果可能与预期的不同

另外,据我所知,google有一个captcha检查来防止机器人(并让人们使用他们的付费api)

尝试使用VPN获取结果。我在github上遇到了这个项目,它允许您通过在Docker容器https://github.com/pry0cc/ProxyDock内部托管VPN来实现这一点

谷歌确实阻止了搜索结果的获取。他们阻止tor和公共可用的VPN代理。在

相关问题 更多 >