爬取某網的妹紙圖
阿新 • • 發佈:2018-11-19
自己動手編寫了一個爬蟲,用來爬取某網站的妹紙圖片。
先介紹下思路吧
首先:獲取包含某頁圖片的HTML程式碼,找到各個分頁的字尾規律
其次:找到包含單個圖片的xpath
最後:儲存在本地就好了
多的不說:上程式碼,有什麼不明白的歡迎留言。
import requests from lxml import etree class Get_image(): def __init__(self, url): self.headers = { "User-Agent" : "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36" } self.urls = url def parse_multi_page(self): # 15 代表每頁的圖片個數 4 代表 爬取的頁數 number = [[j + i * 15 for j in range(1,16)] for i in range(4)] page = 1 for url,index in zip(self.urls, number): res = requests.get(url, self.headers) html = etree.HTML(res.content) parse_result = html.xpath("//div[@class='pic']//li//a/img/@src") # 有多少個jpg 就有多少個num(圖片下標) for image_url, num in zip(parse_result,index): res = requests.get(image_url, self.headers) with open('girl/{}.jpg'.format(num), "ab") as f: f.write(res.content) print("第" + str(page) + "頁抓取完畢") page = page + 1 def main(): start_url = "http://www.hunter-its.com/m/{}.html" url = [] # 5 - 1 代表爬取的頁數 for i in range(1,5): temp_url = start_url.format(i) url.append(temp_url) get_image = Get_image(url) get_image.parse_multi_page() if __name__ == "__main__": main()