Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用selenium和python抓取数据并将其转换为csv_Python_Selenium_Webdriver_Web Crawler - Fatal编程技术网

使用selenium和python抓取数据并将其转换为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

我一直在努力清理这个页面(有一些js,对我来说很难清理),至少有点成功。 我有一个不错的输出,除了我需要将其转换为Csv或Excel文件,而且由于我不知道如何以一种我可以爬行的方式更改单个元素,我有一个文本框

我需要帮助将输出转换为csv文件和/或更好地了解如何从该网站获取数据,这让我在过去两周都清醒过来

谢谢你的时间和耐心

从urllib导入解析 进口bs4 从selenium导入webdriver 从selenium.webdriver.chrome.options导入选项 从bs4导入BeautifulSoup 导入时间 导入csv

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