我试图通过点击2个单选按钮,然后从如下列表中选择,从这个网站上获取数据http://rgphentableaux.hcp.ma/Default1/
我需要对该列表中的所有可用选项执行此操作,并将表添加到我拥有的数据帧中 这是我到目前为止尝试过的,但没有成功
from bs4 import BeautifulSoup
pip install selenium
from selenium import webdriver
browser=webdriver.Chrome()
url = "http://rgphentableaux.hcp.ma/Default1/"
browser.get(url) #navigate to the page
browser.find_element_by_xpath(".//input[@type='radio' and
@value='5']").click()
browser.find_element_by_id("CGEO").click()
time.sleep(3)
browser.find_element_by_xpath(".//input[@type='button' and
@value='Afficher']").click()
tabs = browser.find_elements_by_id('IEE')
innerHTML = browser.execute_script("return
document.body.innerHTML")
soup_level2=BeautifulSoup(innerHTML, 'html.parser')
要选择文本为语言地区利用率和地区的项目并刮取表格,可以使用以下解决方案:
控制台输出:
您可以通过模仿页面发出的请求来使用
requests
和bs4
完成整个过程。您只需按正确的顺序循环区域,并将当前区域编号添加到每个请求中的'CGEO'
参数这:
从登录url收集区域名称的初始列表
这:
使用区域的
option
tagvalue
属性设置CGEO
参数,例如。Tanger-Tetouan-Al Hoceima
是'01'
Region
选项在type
参数内设置Langues locales utilisées
选项在them
参数内设置,即'5'
这:
只需反转项的顺序,以便
data
内每个字典中的Ens, Fem, Masc
以所需的输出顺序Masc, Fem, Ens
添加到row
Py:
编辑:
要获取所有3个表(ensemble、urbain、rural),请按如下所示调整自定义函数,并添加到附加循环
for n in range(0, len(data), block)
:相关问题 更多 >
编程相关推荐