1. 程式人生 > >爬蟲爬取博客園自己or他人發布文章代碼

爬蟲爬取博客園自己or他人發布文章代碼

目錄 img afa requests ade pri 獲取 head lse

import requests
from bs4 import BeautifulSoup
import os


class mzitu():

    def __init__(self):
        self.headers = {
            User-Agent: "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24"}

    def all_url(self, url):
        html 
= self.request(url) # #調用request函數把套圖地址傳進去會返回給我們一個response all_a = BeautifulSoup(html.text, html.parser).find(div, class_=all).find_all(a) # 頁面更改 多了一個早期圖片 需要刪掉(小夥伴們 可以自己嘗試處理一下這個頁面) all_a.pop(0) # 上面是刪掉列表的第一個元素 for a in all_a: title = a.get_text() print(u
開始保存:, title) # #加點提示不然太枯燥了 path = str(title).replace("?", _) # #我註意到有個標題帶有 ? 這個符號Windows系統是不能創建文件夾的所以要替換掉 self.mkdir(path) # #調用mkdir函數創建文件夾!這兒path代表的是標題title哦!!!!!不要糊塗了哦! href = a[href] self.html(href) # #調用html函數把href參數傳遞過去!href是啥還記的吧? 就是套圖的地址哦!!不要迷糊了哦! def html(self, href): # #這個函數是處理套圖地址獲得圖片的頁面地址 html
= self.request(href) self.headers[referer] = href max_span = BeautifulSoup(html.text, html.parser).find(div, class_=pagenavi).find_all(span)[-2].get_text() for page in range(1, int(max_span) + 1): page_url = href + / + str(page) self.img(page_url) # #調用img函數 def img(self, page_url): # #這個函數處理圖片頁面地址獲得圖片的實際地址 img_html = self.request(page_url) img_url = BeautifulSoup(img_html.text, html.parser).find(div, class_=main-image).find(img)[src] self.save(img_url) def save(self, img_url): # #這個函數保存圖片 name = img_url[-9:-4] img = self.request(img_url) f = open(name + .jpg, ab) f.write(img.content) f.close() def mkdir(self, path): # #這個函數創建文件夾 path = path.strip() isExists = os.path.exists(os.path.join("D:\mzitu", path)) if not isExists: print(u建了一個名字叫做, path, u的文件夾!) os.makedirs(os.path.join("D:\mzitu", path)) os.chdir(os.path.join("D:\mzitu", path)) # #切換到目錄 return True else: print(u名字叫做, path, u的文件夾已經存在了!) return False def request(self, url): # # 這個函數獲取網頁的response 然後返回 content = requests.get(url, headers=self.headers) return content Mzitu = mzitu() # #實例化 Mzitu.all_url(http://www.mzitu.com/all) # # 給函數all_url傳入參數 你可以當作啟動爬蟲(就是入口)

其中需要把博客id名和url首頁值替換掉即可!

爬蟲爬取博客園自己or他人發布文章代碼