【问题标题】:NameError: name 'requests' is not defined [closed]NameError:名称“请求”未定义[关闭]
【发布时间】:2015-01-09 19:13:20
【问题描述】:

我已将此代码作为帮助“Python getting all links from a google search result page”。

当我尝试在 Python 3.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

【问题讨论】:

  • 如果你从来没有跑过import requests,你为什么会期望requests这个名字有任何意义呢? (鉴于它没有在docs.python.org/2/library/functions.html 中给出,这是列出非常有限的内置函数集的地方)。

标签: python compiler-errors python-import


【解决方案1】:

安装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=',''))

【讨论】:

  • pip install requests 也是库吗?
  • 我是这样放置的:import requests from bs4 import BeautifulSoup page = requests.get("google.dz/search?q=see") soup = BeautifulSoup(page.content) links = soup.findAll("a")对于 soup.find_all("a",href=re.compile("(?
  • 不,pip是一个包管理系统,用于安装和管理用Python编写的软件包
  • 我是这样写的,但是没有给我链接,所以我必须安装pip?
  • 必须先安装pip,再通过pip安装requests
猜你喜欢
  • 2017-05-20
  • 1970-01-01
  • 2021-08-23
  • 2016-12-20
  • 2023-03-05
  • 2020-12-23
  • 2014-03-18
  • 2021-07-27
  • 1970-01-01
相关资源
最近更新 更多