找回密码
  注册[Register]
查看: 452|回复: 3

用python爬取美女图网图片

[复制链接]
发表于 2021-11-22 10:44 | 显示全部楼层 |阅读模式
禁止求评分、诱导评分、互刷评分、互刷悬赏值,违规者封号处理。
禁止发布推广、邀请码、邀请链接、二维码或者有利益相关的任何推广行为。
所有非原创软件请发布在【精品软件区】,发帖必须按照本版块版规格式发帖。

[Python] 纯文本查看 复制代码
import requests
from bs4 import BeautifulSoup
import re
import os
 
headers = {"referer": "https://www.mzitu.com/",
           "user-agent": "Mozilla/5.0 (Windows NT 10.0; "
                         "Win64; x64) AppleWebKit/537.36 "
                         "(KHTML, like Gecko) Chrome/95.0.4638.54 "
                         "Safari/537.36 Edg/95.0.1020.40"}
def getHtml(url, headers=headers):
    try:
        r = requests.get(url, headers=headers)
        r.raise_for_status()
        r.encoding ="utf-8"
        return r
    except BaseException:
        print("获取失败")
 
def parserHtml(url):
    herflist = []
    r = getHtml(url)
    soup = BeautifulSoup(r.text,"html.parser")
    for herf in (i.find("a").attrs["href"] for i in soup.find("ul",id="pins")("li")):
        respon = getHtml(herf)
        n = re.compile(r"<span class='dots'>…</span><a href='.*?'><span>(?P<num>\d+)</span>")
        num = int(n.search(respon.text).group("num"))
        herflist.append((herf,num))
        respon.close()
    r.close()
    return herflist
 
def downLoad(herf,num):
    for i in range(num):
        i+= 1
        url = herf+"/"+str(i)
        r = getHtml(url)
        soup = BeautifulSoup(r.text,"html.parser")
        if i == 1:
            title = soup.find("title").string.split(sep="-")[0].strip()
            os.mkdir("D:/学习/爬虫/第二章/图片/"+title)
        img = soup.find("img","blur").attrs["src"]
        name = img.split(sep="/")[-1]
        picture = getHtml(img)
        with open("图片/"+title+"/"+name,"wb") as f:
            f.write(picture.content)
        print(title+name+"下载完毕")
        r.close()
        picture.close()
 
def main():
    url = "https://www.mzitu.com"
    herflist = parserHtml(url)
    for herf,num in herflist:
        downLoad(herf,num)
 
main()

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2021-11-22 11:36 来自手机 | 显示全部楼层
感谢大佬分享,大佬666666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2021-11-22 15:00 | 显示全部楼层

感谢大佬分享,大佬666666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2021-11-22 19:26 来自手机 | 显示全部楼层
谢谢分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

RSS订阅|手机版|小黑屋|广告投放|大牛论坛

GMT+8, 2024-6-15 17:28 , Processed in 0.029747 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表