斗图图片爬取
# -*- coding:utf8 -*-
import requests
import time
from lxml import etreeclass DouTu:def __init__(self):self.header = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0"}#設(shè)置header頭def get_url(self,page):url = "https://www.doutula.com/photo/list/"+page#設(shè)置頁面鏈接response = requests.get(url=url,headers=self.header).text#獲取頁面信息self.parse_url(response)def parse_url(self,response):html = etree.HTML(response)link = html.xpath('//div[@class="page-content text-center"]/div/a/@href')#獲取詳情頁面的鏈接# print(link)for i in link:# print(i)self.parse(i)#將鏈接進(jìn)行循環(huán)time.sleep(3)#設(shè)置延遲時間def parse(self,i):response = requests.get(url=i,headers=self.header).text#詳情頁面的纖細(xì)html = etree.HTML(response)name = html.xpath('//div[@class="pic-title"]/h1/a/text()')[0]#圖片的名字img = html.xpath(".//*[@id='detail']/div/div[1]/li/div[3]/div/div/div/div[1]/table/tbody/tr[1]/td/img/@src")[0]#圖片的鏈接# print(img)self.write(name,img)def write(self,name,img):#將推按寫入文件try:#進(jìn)行異常處理response = requests.get(url=img,headers=self.header).content#過去圖片的鏈接信息with open('圖片/%s' % name +'.jpg', 'wb') as f:#with open 打開一個文件夾加上圖片名字進(jìn)行存儲f.write(response)print('成功')except:print('圖片有問題,跳過!')
if __name__ == '__main__':dt = DouTu()for i in range(1,51):#設(shè)置分頁爬取print("第%s頁開始"%i)page = '?page=%s'%idt.get_url(page)print("第%s頁結(jié)束"%i)
?
總結(jié)
- 上一篇: LVGL+NES|基于lvgl实现nes
- 下一篇: DDR SDRAM内存发展历程