python 抓取妹子图 反盗链

#! /usr/bin/python3
# -*- coding: UTF-8 -*-

import urllib
import re
from bs4 import BeautifulSoup
from urllib import request
import requests
import os

#def all_link():     #
link_all=['']
url_all='http://www.mzitu.com/all/'
user_agent = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:59.0) Gecko/201001'

hostheaders={'User-Agent': 'user_agent'}


all_request=urllib.request.Request(url_all, headers=hostheaders)
response=urllib.request.urlopen(all_request)
all_soup=BeautifulSoup(response, "html.parser")
for a in all_soup.find("div", class_="all").find_all("a")[1:]:
    title=a.get_text()
    #create floder
    path = str(title).strip()
    #path = '123'
    os.makedirs(os.path.join("/home/levy/meizitu", path))
    os.chdir("/home/levy/meizitu/"+path)
    #get theme link
    href=a['href']


    html=requests.get(href,headers=hostheaders)
    html_soup=BeautifulSoup(html.text,"html.parser")
    html_page_num=html_soup.find("div",class_="pagenavi").find_all("span")[-2].get_text()
    for i in range(1,int(html_page_num)+1):
        img_page_url=href+"/"+str(i)

        picreferer=img_page_url
                #此处加入referer消息反盗链,亲测可用。
        picheaders={'User-Agent': 'user_agent','Referer':picreferer}

        img_page_content=requests.get(img_page_url)
        img_page_soup=BeautifulSoup(img_page_content.text,"html.parser")
        img_src_url=img_page_soup.find("div",class_="main-image").find("img")["src"]
        
        #save_img
        name=img_src_url[-9:-4]
        img=requests.get(img_src_url,headers=picheaders)
        f= open(name+'.jpg', 'ab')
        f.write(img.content)
        f.close()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容