名称错误:名称'请求'未定义

2022-03-31 00:00:00 python python-import compiler-errors

问题描述

我将此代码视为帮助"Python getting all links from a google search result page"。

当我尝试在Python3.3.3中导入请求时,得到NameError: name 'requests' is not defined。我使用CMD提示符测试了"REQUEST"和"BS4"模块,两者都显示该库已安装。

我正在尝试从Google搜索结果中提取相关的搜索链接,但我不知道为什么会出现此错误。

from bs4 import BeautifulSoup
page = requests.get("https://www.google.dz/search?q=see")
soup = BeautifulSoup(page.content)
import re
links = soup.findAll("a")
for link in  soup.find_all("a",href=re.compile("(?<=/url?q=)(htt.*://.*)")):
    print (re.split(":(?=http)",link["href"].replace("/url?q=","")))

Error: Traceback (most recent call last):
  File "C:/Users/DELL/Desktop/python/s/beauti.py", line 2, in <module>
    page = requests.get("https://www.google.dz/search?q=see")
NameError: name 'requests' is not defined

解决方案

安装requests

pip install requests

并按如下方式更改代码:

from bs4 import BeautifulSoup 
import requests 
page = requests.get("https://www.google.dz/search?q=see") 
soup = BeautifulSoup(page.content) 
links = soup.findAll("a") 
for link in links: 
    if link['href'].startswith('/url?q='): 
        print (link['href'].replace('/url?q=',''))

相关文章