爬虫系列,(3),达盖尔图片抓取

爬虫系列,(3),达盖尔图片抓取importreimportrequestsfrombs4importBeautifulSoup#第一步得到代理defproxy():withopen(r’ip_proxies\有效ip.txt’,’r’,encoding=’utf-8′)asf:r=f.readlines()foripinr:…

大家好,又见面了,我是你们的朋友全栈君。

import re
import requests
from bs4 import BeautifulSoup


# 第一步得到代理
def proxy():
    with open(r'ip_proxies\有效ip.txt', 'r', encoding='utf-8') as f:
        r = f.readlines()
        for ip in r:
            try:
                proxies = eval(ip)
                if requests.get('http://t66y.com/index.php', proxies=proxies, timeout=2).status_code == 200:
                    return proxies
            except:
                pass


proxies = proxy()
print(proxies)

# 第二步得到网页链接池
url = 'http://t66y.com/index.php'
url2 = 'http://t66y.com/thread0806.php?fid=16'
headers = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,\
image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
           'Accept-Encoding': 'gzip, deflate',
           'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,zh-TW;q=0.7',
           'Cache-Control': 'max-age=0',
           'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) \
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36'}
session = requests.session()
url_response = session.get(
    url, headers=headers, proxies=proxies, timeout=3)
url_response2 = session.get(url2, timeout=3, proxies=proxies)
data = url_response2.content.decode('gbk', 'ignore')
soup = BeautifulSoup(data, features='lxml')
url_list = soup.find_all(href=re.compile("htm_data"))
url_set = set()
for i in url_list:
    try:
        url_final = 'http://t66y.com/'+i['href']
        url_set.add(url_final)
    except:
        pass


# 第三步抓取当前页的图片
n = 1


def get_jpg(url):
    global n
    response = requests.get(url, headers=headers, proxies=proxies)
    print(response.status_code)
    data = response.content.decode('gb2312', 'ignore')
    soup = BeautifulSoup(data, features='lxml')
    inputs = soup('input')
    for i in inputs:
        try:
            url_jpg = i['data-src']
            jpg = requests.get(url_jpg, headers=headers, timeout=5)
            print('第{}张'.format(n))
            jpg_content = jpg.content
            with open(r'Caoliu photo\{}.jpg'.format(n), 'wb') as f:
                f.write(jpg_content)
                print('完成')
                n = n+1
        except Exception as a:
            print(a)


if __name__ == "__main__":
    url_final_list = list(url_set)
    for i in url_final_list:
        print(i)
        get_jpg(i)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/152625.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • java 生成xml dom4j_Java生成xml——DOM4J生成

    java 生成xml dom4j_Java生成xml——DOM4J生成一、四种方式的总结【DOM】DOM方式生成xml是基于DOM树的结构,整个DOM树会存在内存中,所以使用DOM方式可以频繁的修改xml的内容,但是因为DOM树是存在内存中的,所以对内存消耗较大。DOM方式比较适用于需要频繁删改的情况。【SAX】SAX方式生成xml是逐步写一、DOM4J生成实例Dom4JToXmlDemo.javapublicclassDom4JToXmlDemo{p…

  • 0 can’t find referenced pointcut aApplogic

    0 can’t find referenced pointcut aApplogic0 can’t find referenced pointcut aApplogic

  • GoLand 2021.8 激活码【最新永久激活】「建议收藏」

    (GoLand 2021.8 激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.htmlS32PGH0SQB-eyJsaWN…

  • JS中动态删除对象中的某个属性[通俗易懂]

    letdog={name:”,age:""};console.log(dog);//{name:"",age:""}//删除当前dog对象中的age属性deletedog.age;console.log(do…

  • M91A安全帽识别布控球 安全帽穿戴AI视频分析功能

    M91A安全帽识别布控球 安全帽穿戴AI视频分析功能AI布控球基于前端边缘AI计算及后端云平台计算,AI布控球集成人脸识别、安全帽识别等的AI视频图像分析算法,通过计算机视觉技术对图像、人脸、场景、视频等进行深度学习,识别并标示图像、场景、视频内容,并对自定义的行为、意图进行识别并预警。AI识别能力介绍:着装检测:针对施工区域的人员是否戴安全帽。人脸检测:针对施工区域的人员是否陌生人(黑名单)。行为检测:针对施工区域内人员是否吸烟。区域检测:针对规定的区域划线后检测是否在区域内或区域外。4G高清安全帽识别布控球,是一款便携式的集4G无线、远程视

  • 那四年,我们一起逝去的青春

    今天是2011年10月1日,是我出生后的第21个国庆节,也是大学生涯里最后一个国庆节,这篇日志可能有点长,闲着蛋疼的童鞋可以泡杯咖啡,一边喝一边看,就当看笑话好了。日志发出来估计已经是几个月后的事了,这也是记录了大学里的点点滴滴。前几天大一新生的军训闭幕式也落下了帷幕,上周五毕业设计的初稿已经发下来了,室友在实习的公司上班马上就要发工资了,考研的童鞋已经进入了积极备战的状态,据说毕

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号