使用selenium和python抓取数据并将其转换为csv
我一直在努力清理这个页面(有一些js,对我来说很难清理),至少有点成功。 我有一个不错的输出,除了我需要将其转换为Csv或Excel文件,而且由于我不知道如何以一种我可以爬行的方式更改单个元素,我有一个文本框 我需要帮助将输出转换为csv文件和/或更好地了解如何从该网站获取数据,这让我在过去两周都清醒过来 谢谢你的时间和耐心 从urllib导入解析 进口bs4 从selenium导入webdriver 从selenium.webdriver.chrome.options导入选项 从bs4导入BeautifulSoup 导入时间 导入csv使用selenium和python抓取数据并将其转换为csv,python,selenium,webdriver,web-crawler,Python,Selenium,Webdriver,Web Crawler,我一直在努力清理这个页面(有一些js,对我来说很难清理),至少有点成功。 我有一个不错的输出,除了我需要将其转换为Csv或Excel文件,而且由于我不知道如何以一种我可以爬行的方式更改单个元素,我有一个文本框 我需要帮助将输出转换为csv文件和/或更好地了解如何从该网站获取数据,这让我在过去两周都清醒过来 谢谢你的时间和耐心 从urllib导入解析 进口bs4 从selenium导入webdriver 从selenium.webdriver.chrome.options导入选项 从bs4导入Be
chrome_options = Options()
chrome_options.add_argument("--headless")
chrome_options.add_argument("--disable-extensions")
chrome_options.add_argument("--disable-gpu")
pesquisainput = 'esgoto'
url = 'https://www.cedae.com.br/licitacao'
browser = webdriver.Chrome()
browser.get(url)
b = 1
time.sleep(2)
selec_box = browser.find_element_by_xpath('//*[@id="dnn_ctr609_ModuleContent"]/div[2]/div[4]/div/div/div')
selec_box.click()
select_encerrada = browser.find_element_by_xpath('//*[@id="dnn_ctr609_ModuleContent"]/div[2]/div[4]/div/div/ul/li[6]')
time.sleep(1)
select_encerrada.click()
time.sleep(1)
pesquisa = browser.find_element_by_xpath('//*[@id="dnn_ctr609_View_txtSubject"]')
digit = pesquisa.send_keys('{}'.format(pesquisainput))
time.sleep(1)
botao_ok = browser.find_element_by_xpath('//*[@id="dnn_ctr609_View_btnSearch"]')
time.sleep(1)
botao_ok.click()
html = browser.page_source
soup = BeautifulSoup(html, 'html5lib')
time.sleep(1.5)
#d = browser.find_element_by_css_selector('#dnn_ctr609_View_rptItemList_pnlBiddingCategory_0')
#print(d.text.strip())
#desc = browser.find_elements_by_class_name('descricao')
#print(desc.)
textoperm = open('resultado_texto.txt','w+')
listnum =[]
def colheita():
i = 0
for desc in browser.find_elements_by_class_name('descricao'):
print(desc.text.strip())
textoperm.write(desc.text.strip())
i +=1
pag = browser.find_element_by_css_selector('#dnn_ctr609_View_lbtnNext')
pag.click()
time.sleep(2)
n = (browser.find_element_by_css_selector('#dnn_ctr609_View_dlPaging_lnkbtnPaging_2').text.strip())
print(n)
s = int(n)
while b <=s :
colheita()
b+=1
chrome\u options=options()
chrome\u选项。添加\u参数(“--headless”)
chrome\u选项。添加\u参数(“--disable extensions”)
chrome\u选项。添加\u参数(“--disable gpu”)
pesquisainput='esgoto'
url='1〕https://www.cedae.com.br/licitacao'
browser=webdriver.Chrome()
browser.get(url)
b=1
时间。睡眠(2)
selec_box=browser。通过xpath('/*[@id=“dnn_ctr609_ModuleContent”]/div[2]/div[4]/div/div/div]查找元素
选择框。单击()
选择浏览器。通过xpath('/*[@id=“dnn\u ctr609\u ModuleContent”]/div[2]/div[4]/div/div/ul/li[6]”查找元素
时间。睡眠(1)
选择_encrrada。单击()
时间。睡眠(1)
pesquisa=browser.通过xpath查找元素('/*[@id=“dnn\u ctr609\u View\u txtSubject”]”)
digit=pesquisa.send_键({}.format(pesquisainput))
时间。睡眠(1)
botao\u ok=browser.通过xpath('/*[@id=“dnn\u ctr609\u View\u btnSearch”]”查找元素
时间。睡眠(1)
单击()
html=browser.page\u源
soup=BeautifulSoup(html,“html5lib”)
时间。睡眠(1.5)
#d=浏览器。通过css选择器(“dnn”ctr609“视图”RPTIEMLIST“pnlBiddingCategory”查找元素
#打印(d.text.strip())
#desc=浏览器。通过类名称(“描述”)查找元素
#打印(说明)
textoperm=open('resultado_texto.txt','w+'))
listnum=[]
def colheita():
i=0
用于浏览器中的描述。按类名称(“描述”)查找元素:
打印(desc.text.strip())
textoperm.write(desc.text.strip())
i+=1
pag=浏览器。通过css选择器(“dnn”ctr609“视图”lbtnNext“查找元素”)
第页单击()
时间。睡眠(2)
n=(browser.find_element_by_css_selector('dnn_ctr609_View_dlPaging_lnkbtnPaging_2')。text.strip())
打印(n)
s=int(n)
而b