使用urllib和BeautifulSoup从python 3中的HTML表中获取数据

时间:2016-12-27 22:53:28

标签: python beautifulsoup urllib

我的磁盘中有一个HTML表格。我想先使用urllib然后使用BeautifulSoup。但是,我收到一个错误。这是我的代码:

from bs4 import  BeautifulSoup
import urllib.request     
Data ="C:/Splits.html"
page = urllib.request.urlopen(splitData).read()
page=splitData
soup = BeautifulSoup(page)

Splits.html文件如下所示:

    A                   B      C       D
1 Company            Old FV  New FV  Split Date
2 Palred Tech          5       10    26-04-2016
3 ABM Knowledg        10       5     07-04-2016

我得到的错误如下:

  File "C:\Anaconda3\lib\urllib\request.py", line 1324, in unknown_open
    raise URLError('unknown url type: %s' % type)
urllib.error.URLError: <urlopen error unknown url type: c>

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

要读取本地文件,请使用open()并将文件对象传递给BeautifulSoup构造函数:

with open("path/to/file") as f:
    soup = BeautifulSoup(f, "html.parser")

请注意,无需实际读取文件 - BeautifulSoup会为您执行此操作。

答案 1 :(得分:0)

  

要解析文档,请将其传递给BeautifulSoup构造函数。您   可以传入一个字符串或一个打开的文件句柄:

from bs4 import BeautifulSoup

soup = BeautifulSoup(open("index.html"))

soup = BeautifulSoup("<html>data</html>")