python爬虫学习之爬取表情包

说点废话

终于在重新梳理了多线程与多进程之间的关系,并且分清几个包的关系之后写出了这个拖了一星期的代码。感动。

#-*- coding:utf-8 -*-
from multiprocessing import Manager,Pool,Process  #导入多进程包
from concurrent import futures  #导入进程池包
from time import sleep,time
import re  #导入正则模块
import requests



class getMainUrl():  #获取每个页面的全部图片下载链接
    def __init__(self,page_start,page_num,queue):
        self.page_start=page_start  #设置起始页面
        self.page_num=page_num  #设置爬取的页面数
        self.queue=queue   #设置队列
        self.domain="https://www.doutula.com/photo/list/?page="  #设置目标域名
        self.headers={   #定义header头以防被识别
            "Host": "www.doutula.com",
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0",
            "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
            "Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2",
            "Connection": "keep-alive",
            "Upgrade-Insecure-Requests": "1"
        }


    def getPicUrl(self,page_url): #图片链接获取
        #首先获取一个可用的cookie
        sleep(0.5) #休眠0.5秒,避免访问过快,被禁止访问   #采用代理IP可以取消这一步
        cookie_jar=requests.utils.cookiejar_from_dict(self.Cookie_Create())
        proxy=self.proxy_create()
        try:
            print("开始获取页面 {}".format(page_url))
            response=requests.get(page_url,headers=self.headers,cookies=cookie_jar)
            data=response.content.decode()
            picUrlList=re.findall(r'

你可能感兴趣的:(python学习)