我想抓取 [this][1] 页面动态表单,我现在正在使用 Selenium 并获得一些结果。
我的问题:
可以用一些 POST 请求替换 Selenium + WebDriver 代码吗?(我之前使用过 Requests,但只有当 API 可用时......我不知道如何对这种形式进行逆向编码)
有没有更好的方法来清理结果页面以仅获取表格?(在我的例子中,结果“数据”变量是一团糟,但无论如何我已经获得了最后一个值,这是脚本的主要目的)
有什么建议吗?
我的代码:
from selenium import webdriver
import pandas as pd
from bs4 import BeautifulSoup
def get_tables(htmldoc):
soup = BeautifulSoup(htmldoc)
return soup.findAll('table')
driver = webdriver.Chrome()
driver.get("http://dgasatel.mop.cl/visita_new.asp")
estacion1 = driver.find_element_by_name("estacion1")
estacion1.send_keys("08370007-6")
driver.find_element_by_xpath("//input[@name='chk_estacion1a' and @value='08370007-6_29']").click()
driver.find_element_by_xpath("//input[@name='period' and @value='1d']").click()
driver.find_element_by_xpath("//input[@name='tiporep' and @value='I']").click()
driver.find_element_by_name("button22").click()
data = pd.read_html(driver.page_source)
print(data[4].tail(1).iloc[0][2])
提前致谢。[1]:http : //dgasatel.mop.cl/visita_new.asp
相关分类