从HTML创建数据框

时间:2019-10-21 03:42:27

标签: python python-3.x dataframe

我正在尝试从网页中读取表格。通常,我公司有严格的身份验证策略,限制了我们抓取数据的方式。 但是下面的代码是我试图用来做同样的事情

from urllib.request import urlopen
from requests_kerberos import HTTPKerberosAuth, OPTIONAL
import os
import lxml.html as LH
import requests
import pandas as pd

cert = r"C:\\Users\\name\\Desktop\\cacert.pem"
os.environ["REQUESTS_CA_BUNDLE"] = cert
kerberos = HTTPKerberosAuth(mutual_authentication=OPTIONAL)
session = requests.Session()

link = 'weblink'
data=session.get(link,auth=kerberos,verify=False).content.decode("latin-1")

这使我将网页的整个HTML保留在“数据”中。 如何将其转换为数据框?

注意:出于隐私方面的考虑,我无法提供该Web链接。.我只是想知道是否有一种通用的方法可以用来解决这种情况。

1 个答案:

答案 0 :(得分:1)

您似乎正在使用something like this在寻找Beautifulsoup吗?

从那里开始,您必须自己创建数据框架,但是您将传递“ 将HTML转换为的过程”,这是一个数据结构步骤。 (也就是说,将HTML表读入列表或字典,然后将其转换为数据框)

编辑1

实际上,您可以使用Pandas的read_html。您可能仍需要Beautifulsoup来获得所需的确切信息,但是根据源HTML的外观,仅它就足够了。