深夜,我用python爬取了整个斗图网站,不服来斗

news/2024/5/21 0:14:34/文章来源:https://hejunlin.blog.csdn.net/article/details/105103051

QQ、微信斗图总是斗不过,索性直接来爬斗图网,我有整个网站的图,不服来斗。

废话不多说,选取的网站为斗图啦,我们先简单来看一下网站的结构

网页信息

从上面这张图我们可以看出,一页有多套图,这个时候我们就要想怎么把每一套图分开存放(后边具体解释)
通过分析,所有信息在页面中都可以拿到,我们就不考虑异步加载,那么要考虑的就是分页问题了,通过点击不同的页面,很容易看清楚分页规则

很容易明白分页URL的构造,图片链接都在源码中,就不做具体说明了明白了这个之后就可以去写代码抓图片了

存图片的思路

因为要把每一套图存入一个文件夹中(os模块),文件夹的命名我就以每一套图的URL的最后的几位数字命名,然后文件从文件路径分隔出最后一个字段命名,具体看下边的截图。

这些搞明白之后,接下来就是代码了(可以参考我的解析思路,只获取了30页作为测试)全部源码

# -*- coding:utf-8 -*-
import requests
from bs4 import BeautifulSoup
import os
class doutuSpider(object):headers = {"user-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36"}def get_url(self,url):data = requests.get(url, headers=self.headers)soup = BeautifulSoup(data.content,'lxml')totals = soup.findAll("a", {"class": "list-group-item"})for one in totals:sub_url = one.get('href')global pathpath = 'J:\\train\\image'+'\\'+sub_url.split('/')[-1]os.mkdir(path)try:self.get_img_url(sub_url)except:passdef get_img_url(self,url):data = requests.get(url,headers = self.headers)soup = BeautifulSoup(data.content, 'lxml')totals = soup.find_all('div',{'class':'artile_des'})for one in totals:img = one.find('img')try:sub_url = img.get('src')except:passfinally:urls = 'http:' + sub_urltry:self.get_img(urls)except:passdef get_img(self,url):filename = url.split('/')[-1]global pathimg_path = path+'\\'+filenameimg = requests.get(url,headers=self.headers)try:with open(img_path,'wb') as f:f.write(img.content)except:passdef create(self):for count in range(1, 31):url = 'https://www.doutula.com/article/list/?page={}'.format(count)print '开始下载第{}页'.format(count)self.get_url(url)
if __name__ == '__main__':doutu = doutuSpider()doutu.create()

结果



总结

总的来说,这个网站结构相对来说不是很复杂,大家可以参考一下,爬一些有趣的

原创作者:loading_miracle,原文链接:
https://www.jianshu.com/p/88098728aafd

欢迎关注我的微信公众号「码农突围」,分享Python、Java、大数据、机器学习、人工智能等技术,关注码农技术提升•职场突围•思维跃迁,20万+码农成长充电第一站,陪有梦想的你一起成长。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_714146.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

宝塔建站 mysql在哪_宝塔面板安装LAMP,创建网站,创建数据库

宝塔面板安装LAMP安装宝塔面板宝塔面板当前有5.9版本,兼容centos6系列,还有6.8系列.我这里因为内存的缘故安装5.9版本.安装其实只要复制一条命令即可.使用xshell登录vps之后复制以下命令到xshell中回车执行:yum install -y wget && wget -O install.sh http://download…

试用期没过,因在公司上了 1024 网站...

最近浏览到一个知乎问题:某运营同学在试用期期间因为在工作期间上了某 1024 网站,导致试用期不过。 前两天还看到不少推文,大意是:看小电影前一定要注意网址是不是 HTTPS 的,因为 HTTPS 是加密的,别人就不知…

因提供18禁动漫,毒害未成年人,国内最大动漫网站被重罚

作为二次元 动漫迷们必备的在线观看漫画工具,那么“动漫之家”肯定是每个人必入坑之一,毕竟它的上线时间也是于2005年的时候。 最早一批的动漫网站,很早二次元喜欢的人,就在里面进行打卡分享番在这网站里的,也有业余大…

社区资讯 | Apache Flink 中文社区网站 Ververica 正式发布

众所周知,Apache Flink 最初是由德国柏林工业大学的几个博士生和研究生从学校开始做起来的项目,2014年,其核心成员开发了 Flink,同时将 Flink 计算的主流方向定位为实时计算并在同年将 Flink 捐赠给 Apache ,后来快速孵…

SNS网站中怎样获取MSN联系人信息

几乎所有的SNS网站都有[邀请站外好友]加入本站这个功能,当然,我们正在开发的这个名为XXX的网站也不例外,今天学习了一下,把成果向大家做一简单汇报。 这个功能的关键点在于取得用户的已有联系人列表,并发送邀请函&…

Flink 中文社区网站 “Flink Learning” 全新上线!文末附最新 Flink 大厂招聘信息~...

Apache Flink 是业界公认的性能优异的大数据计算引擎之一。近年来,随着越来越多学习和使用 Flink 的小伙伴加入,Flink 社区不断壮大。然而,尽管我们有完善的 Flink 教学体系以及各种实践分享,还有丰富的线上线下活动,仍…

团购网站安全性普遍堪忧

十一黄金周让团购市场再火了一把,“砸金蛋”、“领红包”等团购优惠活动更是如火如荼。然而据360安全中心今日发布的《中国团购网站安全检测报告》显示,目前国内团购网站安全性参差不齐,约70.6%的网站存在高危漏洞,主要为中小型团…

备案号链接工信部_网站主页底部网站备案号的悬挂和链接的工作通知

关注并标星飞虎商联微营销打卡阅读更快更深刻洞察微营销━━━━━━根据相关法律法规要求,阿里云对已备案成功数据进行全面核查。备案信息名称备案信息不合格内容整改要求网站内容网站下方未显示正确备案编号或编号未指向工信部网站下方未显示正确备案编号或编号未…

wordpress iis php,Windows IIS 上安装部署 WordPress 网站快速简要教程

Windows 上可以完美运行 PHP WordPress 站点,Windows 上也可以安装运行 MySQL,PHP、MySQL 本来就是跨平台的。微软也对 IIS 运行 PHP 程序有很好的支持,可以看这个链接:https://php.iis.net。任何支持 PHP 和MySQL 的服务器都可以…

always on sql 收缩日志_啥?我写的一条SQL让公司网站瘫痪了...

一条慢查询会造成什么后果?之前我一直觉得不就是返回数据会慢一些么,用户体验变差?其实远远不止,我经历过几次线上事故,有一次就是由一条 SQL 慢查询导致的。那次是一条 SQL 查询耗时达到 2-3 秒「没有命中索引&#x…

ASP.Net Mvc 发布网站 (样式+图片问题)

问题: 网站发布成功,但是样式与图片都不显示,错误提示为:无法找到资源。 解决办法: 右击发布网站——"编辑权限" 选择——“安全选项卡” 给以下两项赋访问权限 问题解决了。转载于:https://www.cnblogs.com…

使用tesseract-ocr破解网站验证码

首先我得承认,关注tesseract-ocr, 是冲着下面这篇文章的噱头去的,26行groovy代码破解网站验证码 http://www.kellyrob99.com/blog/2010/03/14/breaking-weak-captcha-in-slightly-more-than-26-lines-of-groovy-code/ 当然,看了之…

一个网站 一个域名跟服务器吗,域名服务器与根服务器区别吗

域名服务器与根服务器区别吗 内容精选换一换安装依赖时,使用pip3.7.5 install xxx命令安装相关软件时提示无法连接网络,且提示“Could not find a version that satisfies the requirement xxx",提示信息如下所示。没有配置pip源。配置p…

服务器iis限制ip访问网站吗,利用IIS实现网站后台IP登录限制

一、依次单击“开始”→“所有程序”→“管理工具”→“Internet信息服务(IIS)管理器”,打开“Internet信息服务(IIS)管理器”窗口。然后在左窗格中依次展开ServerName→网站,并右键单击Web站点的名称,执行“属性”快捷命令。打开站点属性对话…

地理人必备的宝藏网站

1.地理导航——一个地理人绝不能错过的宝藏网站 地理导航戳这里 2.吾爱地理,一个整合了海量地理信息的综合地理网站,资料信息多到令人发指,还包括各种数据下载和考研真题 吾爱地理戳这里 有了这两个网站,地理人天下之大大可去得…

利用HTML制作简易新闻网站的静态网页

<!DOCTYPE html> <html><head><meta charset"utf-8"><title>登录</title></head><body></body> </html> <h1>这是一个新闻网站</h1> <h1>登录页面</h1> <form>账号&…

大型网站系统架构实践(六)深入探讨web应用集群Session保持

原理 在第三&#xff0c;四篇文章中讲到了会话保持的问题&#xff0c;而且还遗留了一个问题&#xff0c;就是会话保持存在单点故障&#xff0c; 当时的方案是cookie插入后缀&#xff0c;即haproxy指负责分发请求&#xff0c;应用服务自行保持用户会话&#xff0c;如果应 用服务…

从零开始利用vue-cli搭建简单音乐网站(八)

这是完成了预想中的最后两个功能&#xff1a;歌曲评论以及歌曲搜索。 1、评论效果&#xff1a; 用户点击评论按钮&#xff0c;评论框获取焦点。 输入之后点击提交&#xff0c;下方显示评论&#xff0c;用户名称以及日期。相应的用户也可以删除自己评论。 当然只能删除自己的评论…

水文数据产品的网站

主要记录在平常用到的水文数据产品的网站&#xff08;包括水库、湖泊、河流等&#xff09;&#xff1a; 1.hydroweb 官网&#xff1a;https://www.theia-land.fr/en/hydroweb/ 界面&#xff1a; 2.全球水库数据集 Global Reservoir and Dam Database (GRanD) 3.测高卫星数据集…

handbook/CentOS/使用免费SSL证书让网站支持HTTPS访问.md

转载于:https://www.cnblogs.com/ZHONGZHENHUA/p/9006032.html