鱼C论坛

 找回密码
 立即注册
查看: 2707|回复: 3

[技术交流] 爬虫(妹图)分享

[复制链接]
发表于 2020-2-25 20:12:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 会飞的GT 于 2020-2-25 20:34 编辑

# 特定网址爬虫,URL在最下方。
# 更换此网站图集URL即可运行,爬取内容储存在Python默认目录

import requests
import re
import os
import time


def url_open(url):
    try:
        head = {
            'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.5 Safari/605.1.15'}
        r = requests.get(url, headers=head, timeout=30)
        r.raise_for_status()
        r.encoding = r.apparent_encoding
        return r
    except:
       print( 'url_open 产生异常')


def find_img(url):
    try:
        response = url_open(url)
        html = response.text
        img_addres = re.findall(r'<img src="(https://ii.hywly.com/.*?)" alt=', html)
        return img_addres
    except:
       print( 'find_img 产生异常' )


def save_imgs(url):
    try:
        img_name = url.split('/')[-1]
        response = url_open(url)
        with open(img_name, 'wb') as f:
            f.write(response.content)
        print(img_name)
    except:
       print( 'save_imgs 产生异常')


def folder(url):
    try:
        response = url_open(url)
        html = response.text
        folder_name_ = re.findall(r'<p>相关编号: (.*?)</p><p>图片数量: .*?P</p><p>发行日期: .*?</p><p>出镜模特:\
                <a href=".*?" target="_blank">(.*?)</a> ', html)
        folder_name = folder_name_[0][1] + folder_name_[0][0]
        if not os.path.exists(folder_name):
            os.mkdir(folder_name)
        os.chdir(folder_name)

    except:
       print('folder 产生异常')


def down_self(url):
    try:
        folder(url)
        response = url_open(url)
        html = response.text
        img_addres = find_img(url)
        for i in img_addres:
            save_imgs(i)
            time.sleep(1)
        pages = re.findall(r'<a href="(.*?)">\d\d?</a>', html)
        for each in pages:
            img_addres = find_img(each)
            for addres in img_addres:
                save_imgs(addres)
                time.sleep(1)
    except:
        print('down_self 产生异常')


if __name__ == '__main__':
    url = 'https://www.meituri.com/a/25222/'
    down_self(url)







        

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-2-25 20:20:26 | 显示全部楼层
欢迎各位提出修改建议(^_^)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-6 12:13:08 | 显示全部楼层
运行了好几个爬图的,只有楼组这个我能跑起来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-9 10:19:48 | 显示全部楼层
咱俩水平差不多.哈哈.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 21:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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