最近利用python 抓取醫(yī)學(xué)網(wǎng)頁(yè)數(shù)據(jù):主要工具還是使用
確保已安裝:selenium 慨菱,geckodriver.exe首先要打開(kāi)需要抓取的網(wǎng)頁(yè)如:查看網(wǎng)頁(yè)源代碼(F12)
我們發(fā)現(xiàn)其中有<div class = "search-list"> 故可以首先使用:driver.find_element_by_class_name("search-list")獲取網(wǎng)頁(yè)正文內(nèi)容
然后查看"下一頁(yè)"對(duì)應(yīng)代碼:
detail_url = driver.find_element_by_link_text("下一頁(yè)").get_attribute('href')
下面是代碼:
def get_text():
? ? driver = webdriver.Firefox()
? ? urls = ["url1",
? ? ? ? ? ? "url2",
? ? ? ? ? ? "url3"
? ? ? ? ? ? ]
? ? ref = ['url1','url2','url3']
? ? for i in range(len(urls)):
? ? ? ? driver.get(urls[i])
? ? ? ? count=0
? ? ? ? while True:
? ? ? ? ? ? count +=1
? ? ? ? ? ? input = driver.find_element_by_class_name("search-list")
? ? ? ? ? ? with codecs.open(ref[i]+'_page_'+str(count)+'.txt','w',encoding='utf-8') as f:? #保存網(wǎng)頁(yè)源代碼
? ? ? ? ? ? ? ? f.write(input.text)
? ? ? ? ? ? try:
? ? ? ? ? ? ? ? detail_url = driver.find_element_by_link_text("下一頁(yè)").get_attribute('href')
? ? ? ? ? ? ? ? driver.get(detail_url)
? ? ? ? ? ? except:
? ? ? ? ? ? ? ? break