首页 > 解决方案 > 汤类选择器返回一个空列表

问题描述

我正在尝试从谷歌搜索页面检索链接列表,但漂亮的汤选择器返回一个空列表。

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该类的列表,但得到一个空列表

标签: pythonbeautifulsoup

解决方案


您需要使用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)

推荐阅读