关于写爬小姐姐图片网站的几个问题

思路篇

目前常见的图片网站类型:

一、纯静态网站(无私奉献型,最容易爬)

二、相册链接有序,内部图片链接无序型

三、相册链接无序型,内部图片链接无序型

四、相册、图片链接均无序,且含有无关链接,坏链接,跳转链接型

五、随机型

——————————————————————————————————————————

一、纯静态网站

这种网站一般是个人搭建,没有多少资源,这种网站一般第一个相册链接是http://www.xiangche/1.html,第二个就是http://www.xiangche/2.html。然后内部图片链接可能就是http://www.xiangche/1-1.jpg,http://www.xiangche/1-2.jpg

使用两层for流水即可获取到每个图片的信息,而且报错率极低

———————————————————————————————————————————

二、相册链接有序,内部图片链接无序型

第一个相册链接是http://www.xiangche/1.html,第二个是http://www.xiangche/2.html。第一个相册内部图片链接可能就是http://www.tupian/sdf124fAA.jpg,http://www.alicdn/20230521-001.jpg

解题思路:

第一层for流水获取网页,接着通过查找标签的形式将img的src链接获取到

如下是获取一个相册内放在class="article-content clearfix"的div代码,并获取其中img标签的src(超链接)信息

    response = requests.get(url=url)
    html_str = response.text
    divdakuai = BeautifulSoup(html_str, "html.parser")
    div1 = divdakuai.find("div", class_="article-content clearfix")
    yuanshilianjie = [link.get('src') for link in div1.find_all('img')]

———————————————————————————————————————————

三、相册链接无序型,内部图片链接无序型

解题思路:

参照二的方法,获取相册页的链接,然后再通过查找标签的形式获取其中img标签的src(超链接)信息

———————————————————————————————————————————

四、相册、图片链接均无序,且含有无关链接,坏链接,跳转链接型

解决思路:

在三的基础上,添加一些过滤手段,例如

在request中添加timeout并用try exceprt解决链接超时问题

        try:
            t = requests.get(url=yuanshilianjie, verify=False, timeout=5).content
            name = 'A' + str(a) + '.jpg'
            a = a+1
            with open(f'we\\{name}', mode='wb')as f:
                f.write(t)
        except requests.exceptions.Timeout:
            pass

———————————————————————————————————————————

五、随机型

这种网站无页数,相册无序,鼠标滚轮往下滚它就加载新的相册,相册里面的内容有一定概率跟之前是重复的。直接requests.get是得不到信息的。

解决思路:

通过import webbrowser引入模拟浏览器,通过在模拟浏览器内模拟发送鼠标滚轮指令来获取相册信息。并对相册链接进行判断,是否是重复的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值