python - 汤类选择器返回一个空列表
问题描述
我正在尝试从谷歌搜索页面检索链接列表,但漂亮的汤选择器返回一个空列表。
我requests
使用 bs4 BeautifulSoup 获取页面代码并解析检索到的响应,然后使用该soup.select
方法获取某个类。我最终得到一个空列表
import webbrowser as wbb
import requests
from bs4 import BeautifulSoup as BS
term = "minmax"
res = requests.get('https://www.google.com/search?q={}'.format(term))
soup = BS(res.text)
links= soup.select(".rc")
我期望一个links
包含rc
该类的列表,但得到一个空列表
解决方案
您需要使用user-agent
标题。谷歌似乎拒绝没有请求的请求。
这有效:
import requests
from bs4 import BeautifulSoup
term = "minmax"
res = requests.get('https://www.google.com/search?q={}'.format(term),
headers={'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0'})
res.raise_for_status()
soup = BeautifulSoup(res.text, 'html.parser')
links = soup.select(".rc")
print(links)
推荐阅读
- node.js - 部署我的系统后,我不断收到无法获取 / 在 heroku 上
- postgresql - Spring Boot 应用程序对 postgres 执行大量 SET application_name 查询
- android - 获取错误 Button.setOnclicklistener(this);
- django - 如何在 gunicorn_config 文件中给出子域的地址
- pine-script - 如何检查先前柱的范围以了解情况
- sql-server - 在 BIML 中使用 Oracle Source 和 Attunity
- c - 我不确定为什么我的嵌套 while 循环在第一次迭代后停止
- oracle - Oracle SQL Query,用于拆分,处理和计算列中值的函数?
- android - 我无法解决颤动闪屏中的尺寸问题
- haskell - VSCode 中 Haskell 语言服务器的异常行为