如何用 Python 快速抓取 Google 搜索?

本文是通过 requests 和 Beautiful Soup 抓取 Google 搜索的快速指南。

作者 |?linksc
译者 |?弯月,责编 | 郭芮
出品 | CSDN(ID:CSDNnews)
以下为译文:
requests
bs4
接下来,运行 pip install -r requirements.txt 命令来安装依赖项。然后将其导入到你的脚本中。
import?urllib
import?requests
from?bs4?import?BeautifulSoup
为了执行搜索,你需要在URL中为 Google 提供查询参数。此外,所有空格都必须用+代替。为了构建URL,我们需要设置正确的查询格式,并其放入q参数中。
query?=?"hackernoon?How?To?Scrape?Google?With?Python"
query?=?query.replace('?',?'+')
URL?=?f"https://google.com/search?q={query}"
Google 会针对移动设备和台式机返回不同的搜索结果。因此,我们需要指定适当的用户代理。
#?desktop?user-agent
USER_AGENT?=?"Mozilla/5.0?(Macintosh;?Intel?Mac?OS?X?10.14;?rv:65.0)?Gecko/20100101?Firefox/65.0"
#?mobile?user-agent
MOBILE_USER_AGENT?=?"Mozilla/5.0?(Linux;?Android?7.0;?SM-G930V?Build/NRD90M)?AppleWebKit/537.36?(KHTML,?like?Gecko)?Chrome/59.0.3071.125?Mobile?Safari/537.36"
发送请求很简单。但是,requests需要将 user-agent 放在请求的头部。为了设置正确的头部,我们必须传给headers一个字典。
headers?=?{"user-agent"?:?MOBILE_USER_AGENT}
resp?=?requests.get(URL,?headers=headers)
接下来,我们需要检查请求是否成功。最简单的方法是检查状态码。如果返回200,则表示成功。然后,我们需要将其放入 Beautiful Soup 中以解析内容。
if?resp.status_code?==?200:
????soup?=?BeautifulSoup(resp.content,?"html.parser")
接下来是解析数据,并从页面提取所有的链接。我们可以利用 Beautiful Soup 简单地完成这项工作。在便利每个链接时,我们需要将结果存储到一个列表中。
results?=?[]
for?g?in?soup.find_all('div',?class_='r'):
????anchors?=?g.find_all('a')
????if?anchors:
????????link?=?anchors[0]['href']
????????title?=?g.find('h3').text
????????item?=?{
????????????"title":?title,
????????????"link":?link
????????}
????????results.append(item)
print(results)
这样就可以了。这个脚本非常简单,而且容易出错。但至少它能带你入门,从此你就可以编写自己的 Google 爬虫了。你可以从 GitHub上下载整个脚本,地址是:https://github.com/getlinksc/scrape_google。
热 文?推 荐?
?在以太坊上开发 Dapp 的瓶颈和门槛有哪些?| 博文精选

关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注网络尖刀微信公众号随时掌握互联网精彩
- 1 中国经济向世界提供“机遇清单” 7904876
- 2 再次提醒:中国公民近期避免前往日本 7808523
- 3 狂甩45次 无汞体温计才降到36℃ 7714695
- 4 2025这些“经济”持续成长壮大 7616793
- 5 女生被宿舍孤立关门外一夜?学校回应 7521726
- 6 “无名”男子医院躺7年半 警方介入 7427172
- 7 网警:男子AI生成车展低俗视频被拘 7328164
- 8 北冥有鱼竟然是真的 7234940
- 9 5000万粉丝女网红涉嫌逃税仍直播 7137869
- 10 寒潮来袭!多地气温将创下半年来新低 7043548







CSDN
