爬蟲-文字爬取
import reimport requestsrespone = requests.get('https://ishuo.cn/') ##獲取網(wǎng)站urldata = respone.text ##把字符串轉(zhuǎn)化成文本result_list = re.findall('<div class='content'>(.*?)</div>',data) ##找到需要爬取的內(nèi)容,需要爬取的內(nèi)容用'(.*?)'來代替,其他格式不變。'''<div class='content'>如果你得罪了老板,失去的只是一份工作;如果你得罪了客戶,失去的不過是一份訂單;是的,世上只有一個(gè)人可以得罪:你給她臉色看,你沖她發(fā)牢騷,你大聲頂撞她,甚至當(dāng) 著她的面摔碗,她都不會(huì)記恨你,原因很簡單,因?yàn)樗悄愕哪赣H。</div>'''for result in result_list: ##爬取這個(gè)網(wǎng)頁所有標(biāo)記的文本 print(result)
爬蟲-圖片爬取
import reimport requestscount = 0for i in range(44): ##設(shè)置圖片網(wǎng)頁的范圍,進(jìn)行網(wǎng)頁跳轉(zhuǎn)。 url = f'http://www.xiaohuar.com/list-1-{i}.html' ##獲取跳轉(zhuǎn)網(wǎng)頁的url路徑 response = requests.get(url) ##獲取網(wǎng)頁url路徑,并賦值給response data= response.text ##將response轉(zhuǎn)化成text文本并賦值給data # print(data) result_list = re.findall('src='(.*?)'',data) ##從data文本中提取需要爬取的圖片路徑,用“(.*?)”來代替,并賦值給result_list(變成列表) for result in result_list: # type:str ##逐個(gè)提取圖片url出來 if result.startswith('https'): ##刷選開頭是”https“的圖片url img_respone = requests.get(result) ##將開頭是“https”的圖片url提取出來,并賦值給img_response列表 # print(img_respone) img_name = result.split('/')[-1] ##對(duì)列表中圖片url以“/”標(biāo)識(shí)進(jìn)行切分,并提取最后一段url,并賦值給img_name # print(img_name) img_data = img_respone.content ##將列表img_response轉(zhuǎn)換成二進(jìn)制格式 with open (img_name,'wb') as fw: ##打開img_name文件,并賦予寫入權(quán)限(以字節(jié)格式寫入) fw.write(img_data) ##將img_data的數(shù)據(jù)寫入img_name文件 fw.flush() ##快速寫入 count =1 print(f'爬取了{(lán)count}張圖片') ##可以顯示提示提取了多少張圖片
爬蟲-視頻爬取
import reimport requestsresponse = requests.get('https://www.ku6.com/index') ##獲取網(wǎng)站urldata = response.text ##將response轉(zhuǎn)換成文本格式count = 0result_list = re.findall('<a class='video-image-warp' target='_blank' href='(.*?)'>',data) ##獲取視頻地址for result in result_list: #type:str ##將獲取第一層視頻地址全部提取出來 # print(result) if result.startswith('/detail/') or result.startswith('/video/'): ##判斷result里面以“/detail/”和“/video/”開頭的url路徑 result = f'https://www.ku6.com{result}' ## 提取判斷正確的url路徑,并賦值給第二層url列表 result_response = requests.get(result) ##重新獲取第二層視頻url路徑,并賦值給response1 data1 = result_response.text ##將response1格式轉(zhuǎn)換成文本 #print(data1) video_url = re.findall('<source src='(.*?)' type='video/mp4'>',data1) ##獲取視頻地址 # print(video_url) if not video_url: ##對(duì)視頻格式進(jìn)行判斷 video_url = re.findall('flvURL: '(.*?)'',data1) ##如果視頻不是這個(gè)url格式,則更換成另外一種格式 # print(video_url) video_response = requests.get(video_url[0]) ##獲取視頻url路徑 video_data = video_response.content video_name = f'{video_url[0].split('/')[-1]}.mp4' with open (video_name,'wb') as fw: fw.write(video_data) fw.flush() count =1 print(f'爬取了{(lán)count}個(gè)視頻')
如果你對(duì)Python編程感興趣,那么記得私信小編“007”領(lǐng)取全套Python資料哦。