Web scraping 使用Python删除特定的复选框值
我试图分析这个网站上的数据: 我想刮几个国家,比如BZN | PT-BZN | ES和BZN | RO-BZN | BG 我在以下日期前的几个月尝试了预售转让能力:Web scraping 使用Python删除特定的复选框值,web-scraping,Web Scraping,我试图分析这个网站上的数据: 我想刮几个国家,比如BZN | PT-BZN | ES和BZN | RO-BZN | BG 我在以下日期前的几个月尝试了预售转让能力: from bs4 import BeautifulSoup import requests page = requests.get('https://transparency.entsoe.eu/transmission-domain/r2/forecastedTransferCapacitiesMonthAhead/show')
from bs4 import BeautifulSoup
import requests
page = requests.get('https://transparency.entsoe.eu/transmission-domain/r2/forecastedTransferCapacitiesMonthAhead/show')
soup = BeautifulSoup(page.text, 'html.parser')
tran_month = soup.find('table', id='dv-datatable').findAll('tr')
for price in tran_month:
print(''.join(price.get_text("|", strip=True).split()))
但我只得到预选的国家。我如何传递我的论点,以便选择我想要的国家?非常感谢。代码缺少一个关键部分,即通知请求的参数,如导入/导出和从/到国家/地区和类型 为了解决这个问题,您可能会在下面找到一个构建在您的基础上的代码,它使用
请求的GET+parameters函数。要运行完整的代码,您应该找到每个国家/地区的完整参数列表
from bs4 import BeautifulSoup
import requests
payload = { # this is the dictionary whose values can be changed for the request
'name' : '',
'defaultValue' : 'false',
'viewType' : 'TABLE',
'areaType' : 'BORDER_BZN',
'atch' : 'false',
'dateTime.dateTime' : '01.05.2020 00:00|UTC|MONTH',
'border.values' : 'CTY|10YPL-AREA-----S!BZN_BZN|10YPL-AREA-----S_BZN_BZN|10YDOM-CZ-DE-SKK',
'direction.values' : ['Export', 'Import']
}
page = requests.get('https://transparency.entsoe.eu/transmission-domain/r2/forecastedTransferCapacitiesMonthAhead/show',
params = payload) # GET request + parameters
soup = BeautifulSoup(page.text, 'html.parser')
tran_month = soup.find('table', id='dv-datatable').findAll('tr')
for price in tran_month: # print all values, row by row (date, export and import)
print(price.text.strip())
谢谢你的输入@crap.py。如果我希望获得border.values的多个选项(多个border),并且希望获得两个方向,该怎么办。正如我在第一条评论BZN | PT-BZN | ES,BZN | RO-BZN | BG中所说的,正如我在回答中所暗示的,您应该更改字典中的“border.values”值,最有可能在for循环中。为了找到要循环的值,我建议您检查页面并记下通过单击国家/地区复选框触发的所有可用值。P.S.crap.py是迄今为止我能想到的最好的帐户名拼写错误,谢谢!谢谢我笑得喘不过气来,不客气。如果您最终使用了答案,请考虑将其标记为将来的引用。您可能已经知道,但entso-e的透明平台遵循开放数据政策,该政策涉及(在网站顶部)访问存储entso-e数据的FTP服务器。有关更多信息,请参阅