吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2921|回复: 6
收起左侧

[Python 转载] python采集图片的例子,附带访问超时,异常处理!

[复制链接]
huguo002 发表于 2019-5-9 19:12
本帖最后由 huguo002 于 2019-5-9 20:37 编辑

python采集图片的例子,附带访问超时,异常处理!
python采集图片的例子,附带访问超时,异常处理!
异常链接已写入到text中!共3个文件!

[Python] 纯文本查看 复制代码
#爬取cssdesignawards.com图片

import requests
from lxml import etree
import os
global i
global cs_url
global cs_ur2
global cs_ur3

i=1
cs_url1=''
cs_url2=''
cs_url3=''

def tp(url):
    global i
    global cs_url
    global cs_ur2
    #url="https://www.cssdesignawards.com/sites/artbox/35171/"
    try:
        html=requests.get(url,timeout=10).text
        nr=etree.HTML(html)
        tpurl=nr.xpath('//*[@id="page"]/section[1]/div/div/figure/a/img/@src')
        tpurl='https://www.cssdesignawards.com'+tpurl[0]
        print(tpurl)
        tpm=str(i)+tpurl[-4:]
    except:
        print(url+"-----访问超时!")
        cs_url1 = url + '\r\n'
os.makedirs("./img/cssd/spider1.txt", exist_ok=True)
        with open("./img/cssd/spider1.txt", 'a') as f:
            f.write(cs_url1)
            pass

    os.makedirs("./img/cssd/", exist_ok=True)
    try:
        r=requests.get(tpurl,timeout=10)
        with open("./img/cssd/"+tpm,'wb') as f:
            f.write(r.content)
            print(tpm + "----图片已保存!")
            i = i + 1
    except:
        print(tpm+"-----访问超时"+tpurl)
        cs_url2 = tpurl + '\r\n'
os.makedirs("./img/cssd/spider2.txt", exist_ok=True)
        with open("./img/cssd/spider2.txt", 'a') as f:
            f.write(cs_url2)
            pass

def hqt(fenlei,num):
    global cs_url3
    for n in range(1,num+1):
        ur=f'https://www.cssdesignawards.com/website-gallery?industry={fenlei}&page={n}'
        print(ur)
        try:
            htm=requests.get(ur,timeout=10).text
            #print(htm)
            ljnr=etree.HTML(htm)
            #print(ljnr)
            ljjh=ljnr.xpath('//*[@id="page"]/section/div/div[1]/article/div/div[1]/div/a[1]/@href')
            for lj in ljjh:
                lj='https://www.cssdesignawards.com'+lj
                print(lj)
                tp(lj)

        except:
            print(ur + "-----访问超时!" )
            cs_url3 = ur + '\r\n'
os.makedirs("./img/cssd/spider3.txt", exist_ok=True)
            with open("./img/cssd/spider3.txt", 'a') as f:
                f.write(cs_url3)
                pass


if __name__ == "__main__":
    hqt("app",9)




采集图片.jpg

免费评分

参与人数 2吾爱币 +4 热心值 +2 收起 理由
苏紫方璇 + 3 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
bydlyzx + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

garen 发表于 2019-5-9 19:23
很厉害 赞一个
lwl0934 发表于 2019-5-9 19:31
手别颤抖 发表于 2019-5-9 19:51
geek_007 发表于 2019-5-9 20:40
开线程 会不会快点
 楼主| huguo002 发表于 2019-5-9 20:53
geek_007 发表于 2019-5-9 20:40
开线程 会不会快点

用过线程池,感觉快不了多少,还是网速起比较大的作用
litengdada 发表于 2019-5-10 07:58
喜喜喜喜喜喜
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 08:31

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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