我正在尝试在Texas RRC生产查询工具上从该查询中获取所有结果:
我已经编写了一个程序,它将遍历每个页面以获得所有结果,但是当我尝试实际从表中提取数据时,soup变量返回NoneType。我使用的是bs4.6。这就是我尝试过的:
current_url = driver.current_url
soup = BeautifulSoup(current_url,'lxml') #tried html.parser as well
table = soup.find("table", {"class":"DataGrid"})
for row in table.find_all('tr'):
print(row)
我想在每一页上刮表,然后附加到一个数据帧。我是不是漏掉了什么明显的东西?你知道吗
我用一个用户代理尝试了你的代码,结果成功了。我不确定您使用的是什么来向页面发出请求,因此我将假设您使用的是
requests
(因为selenium或其他web浏览器模拟是不必要的,一个简单的请求就可以做到这一点)。如果是,请在请求中添加以下参数:headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.75 Safari/537.36'}
编辑: 使用selenium,您只需将页面源代码传递给Beautifulsoup。您现在的错误是,您将url传递给beautifulsoup,而不是实际的html。你知道吗
因为您使用的是Selenium,所以我创建了一个逻辑来为给定的url刮取表值。我使用Csv从这个页面导出数据表。我相信这可以转换成熊猫数据帧。你知道吗
这是输出,
操作员姓名操作员编号石油(BBL)套管头(MCF)GW天然气(MCF)凝析油(BBL)
4 SWIFT服务有限责任公司953799 0 0
94工作,LP 966260 0
A&C石油有限责任公司214 329 0 0
A.N.MAC DIARMID公司572 108 0 0
AAA石油公司148 25 1 0 0
AARONMARK服务有限责任公司891 38 0 0
AB RESERVE有限责任公司893 0 0 0
ABACO公司894 0 0 4370 83
阿布拉克斯石油公司3125 9356 10706 0
雅阁GR能源公司3422 0 0 0
相关问题 更多 >
编程相关推荐