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

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链接。.我只是想知道是否有一种通用的方法可以用来解决这种情况。

最佳答案

看起来您正在使用something like this寻找Beautifulsoup吗?

从那里,您必须自己创建数据框架,但是您将通过“将HTML转换为数据结构的过程”。 (即,将HTML表读入列表或字典,然后将其转换为数据框)

编辑1

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

09-30 14:34
查看更多