Web scraping 使用Python删除特定的复选框值

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')

我试图分析这个网站上的数据:

我想刮几个国家,比如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')

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服务器。有关更多信息,请参阅