Wanning

我们不是生产者,我们只是搬运工

资源来至于qiubaichengren ,代码基于Python 3.5.2
友情提醒:血气方刚的骚年。请

谨慎阅图
谨慎阅图
谨慎阅图

code:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
import urllib
import urllib.request
import re
from urllib.error import URLError


class QsSpider:
    def __init__(self):
        self.user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
        self.header = {'User-Agent': self.user_agent}
        self.save_dir = './pic'
        self.url = 'http://www.qiubaichengren.com/%s.html'

    def start(self):
        for i in range(1, 10):
            self.load_html(str(i))

    def load_html(self, page):
        try:
            web_path = self.url % page
            request = urllib.request.Request(web_path, headers=self.header)
            with urllib.request.urlopen(request) as f:
                html_content = f.read().decode('gb2312')
                # print(html_content)
                self.pick_pic(html_content)
        except URLError as e:
            print(e.reason)
        return

    def save_pic(self, img):
        print(img)
        save_path = self.save_dir + "/" + img.replace(':', '@').replace('/', '_')
        if not os.path.exists(self.save_dir):
            os.makedirs(self.save_dir)

        print(save_path)
        urllib.request.urlretrieve(img, save_path)
        pass

    def pick_pic(self, html_content):
        regex = r'src="(http:.*?\.(?:jpg|png|gif))'
        patten = re.compile(regex)
        pic_path_list = patten.findall(html_content)
        for i in pic_path_list:
            self.save_pic(str(i))
            print(i)


spider = QsSpider()
spider.start()
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐