如何使用python绘制本地网站的数据

如何使用python绘制本地网站的数据,python,web-scraping,beautifulsoup,get,Python,Web Scraping,Beautifulsoup,Get,我需要一个提示,如何从一个网站的图形数据。我对网络抓图很陌生。特别的是,我无法访问该网站,因为它在另一个网络上本地运行。为了发展,我只有一个html文件的网站。我知道我的问题是我的以下代码出错。我认为问题很简单,但到目前为止我还没有一个想法 import requests import urllib.request import time from bs4 import BeautifulSoup url = 'file:///tmp/mozilla/LiveData.html' # file

我需要一个提示,如何从一个网站的图形数据。我对网络抓图很陌生。特别的是,我无法访问该网站,因为它在另一个网络上本地运行。为了发展,我只有一个html文件的网站。我知道我的问题是我的以下代码出错。我认为问题很简单,但到目前为止我还没有一个想法

import requests
import urllib.request
import time
from bs4 import BeautifulSoup

url = 'file:///tmp/mozilla/LiveData.html' # file is locally so far
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")
我得到以下错误:

NewConnectionError: <urllib3.connection.HTTPConnection object at 0x7fc151db7550>: Failed to establish a new connection: [Errno -2] Name or service not known
NewConnectionError::无法建立新连接:[Errno-2]名称或服务未知

当它是本地的,而不是一个“真正的”网站时,它可能不起作用。谢谢你的帮助

您不能在本地文件上使用
.get
方法。首先读取文件,然后将其传递给bs4。
你可以用这样的东西来达到类似的效果。 例如:


requests.get
是在向URL发送get请求后从网站返回响应。由于您的网站只是一个本地文件,而不是实时运行(并侦听请求),因此它不会从get请求返回任何内容

requests.get(url,params=None,**kwargs)[source]发送get请求

参数:url–新请求对象的url。参数–(可选) 字典,要在查询字符串中发送的元组或字节列表 请求。 **kwargs–请求接受的可选参数。返回:响应对象

返回类型:requests.Response


您不能在本地文件上使用
.get
。相反,请使用
open
阅读该文件,谢谢您的快速回答,还有一个问题需要理解,如果网站正在运行,那么我只需使用.get命令替换Poojan解决方案,对吗?您的网站还需要监听传入的请求以提供响应。我假设您有一些flask服务器,它将侦听get请求,然后返回相应的响应。下面是一个有用的烧瓶教程:
import requests
import urllib.request
import time
from bs4 import BeautifulSoup

# url = 'file:///tmp/mozilla/LiveData.html' # file is locally so far
with open('/tmp/mozilla/LiveData.html', 'r') as f:
    response = f.read()
soup = BeautifulSoup(response.text, "html.parser")