本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理

以下文章来源于腾讯云 作者:砸漏

( 想要学习Python?Python学习交流群:1039649593,满足你的需求,资料都已经上传群文件流,可以自行下载!还有海量最新2020python学习资料。 )

引言

之前有些无聊(呆在家里实在玩的腻了),然后就去B站看了一些python爬虫视频,没有进行基础的理论学习,也就是直接开始实战,感觉跟背公式一样的进行爬虫,也算行吧,至少还能爬一些东西,hhh。我今天来分享一个我的爬虫代码。

正文

话不多说,直接上完整代码

ps:这个代码有些问题 每次我爬到fate的图片它就给我报错,我只好用个try来跳过了,如果有哪位大佬能帮我找出错误并给与纠正,我将不胜感激

import requests as r
import re
import os
import time
file_name = "动漫截图"
if not os.path.exists(file_name):os.mkdir(file_name)for p in range(1,34):print("--------------------正在爬取第{}页内容------------------".format(p))url = 'https://www.acgimage.com/shot/recommend?page={}'.format(p)headers = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Safari/537.36"}resp = r.get(url, headers=headers) html = resp.textimages = re.findall('data-original="(.*?)" ', html)names =re.findall('title="(.*?)"', html)#print(images)#print(names)dic = dict(zip(images, names))for image in images:time.sleep(1)print(image, dic[image])name = dic[image]#name = image.split('/')[-1]i = r.get(image, headers=headers).contenttry:with open(file_name + '/' + name + '.jpg' , 'wb') as f:f.write(i)except FileNotFoundError:continue

先导入要使用的库

import requests as r
import re
import os
import time

然后去分析要去爬的网址: https://www.acgimage.com/shot/recommend

下图是网址的内容:

好了 url已经确定

下面去寻找headers

找到user-agent 将其内容复制到headers中

第一步就完成了

下面是代码展示

url = 'https://www.acgimage.com/shot/recommend?page={}'.format(p)
headers = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Safari/537.36"}

然后检索要爬的图片内容

从上图就可以找到图片的位置:data-origina=后面的内容
以及图片的名字:title=后面的内容

然后用正则表达式re来检索就行了

images = re.findall('data-original="(.*?)" ', html)
names =re.findall('title="(.*?)"', html)

最后将其保存就好了

i = r.get(image, headers=headers).content
with open(file_name + '/' + name + '.jpg' , 'wb') as f:f.write(i)

还有就是一些细节了

比如换页

第一页网址:

https://www.acgimage.com/shot/recommend

第二页网址:https://www.acgimage.com/shot/recommend?page=2

然后将page后面的数字改动就可以跳到相应的页面

换页的问题也就解决了

or p in range(1,34):url = 'https://www.acgimage.com/shot/recommend?page={}'.format(p)

以及将爬到的图片放到自己建立的文件zh

使用了os库

 file_name = "动漫截图"if not os.path.exists(file_name):os.mkdir(file_name)

以及为了不影响爬取的网站 使用了sleep函数

虽然爬取的速度慢了一些

但是这是应遵守的道德

time.sleep(1)

以上 这就是我的爬虫过程

还是希望大佬能解决我的错误之处

万分感谢

爬取动漫美女,手把手教你用Python网络爬虫获取动漫图片相关推荐

  1. 手把手教你使用Python网络爬虫获取B站视频选集内容(附源码)

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 位卑未敢忘忧国,事定犹须待阖棺. ...

  2. python爬虫可以爬取个人信息吗_手把手教你利用Python网络爬虫获取旅游景点信息...

    爬虫系列: 当我们出去旅游时,会看这个地方有哪些旅游景点,景点价格.开放时间.用户的评论等. 本文基于Python网络爬虫技术,以hao123旅游网为例,获取旅游景点信息. 1.项目目标 获取网站的景 ...

  3. 手把手教你用Python网络爬虫获取壁纸图片

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 桃之夭夭,灼灼其华. /1 前言/ ...

  4. 手把手教你利用Python网络爬虫获取链家网的房产信息

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 夜阑卧听风吹雨,铁马冰河入梦来. ...

  5. 手把手教你使用Python网络爬虫获取王者荣耀英雄皮肤

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 欢度国庆,共度中秋. /1 前言/ ...

  6. 实战|手把手教你利用Python网络爬虫获取新房数据

    一.项目背景 大家好,我是J哥. 新房数据,对于房地产置业者来说是买房的重要参考依据,对于房地产开发商来说,也是分析竞争对手项目的绝佳途径,对于房地产代理来说,是踩盘前的重要准备. 今天J哥以惠民之家 ...

  7. 手把手教你使用Python网络爬虫获取音效信息

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 一腔热血勤珍重,洒去犹能化碧涛. ...

  8. 手把手教你使用Python网络爬虫获取菜谱信息

    /1 前言/ 在放假时 ,经常想尝试一下自己做饭,下厨房这个网址是个不错的选择. 下厨房是必选的网址之一,主要提供各种美食做法以及烹饪技巧.包含种类很多. 今天教大家去爬取下厨房的菜谱 ,保存在wor ...

  9. python链家网爬虫_手把手教你利用Python网络爬虫获取链家网的房产信息

    点击上方" Python爬虫与数据挖掘 ",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 夜阑卧听风吹雨,铁马冰河入梦来 ...

最新文章

  1. 使用sae定时执行Python脚本
  2. dell raid配置
  3. 【Java】不需要正则表达式,提取字符串中的所有汉字、数字、字母
  4. java下拉树_参数模板中下拉树级联下拉数据集查询
  5. 7-5 抓老鼠啊~亏了还是赚了? (20 分)
  6. @Resource和@Autowired小笔记
  7. 深度技术 GHOSTXPSP3 快速装机 2013圣诞节专版
  8. 日本将推出“隐形列车”,你要去体验一番吗?
  9. 计算机六年级基础知识,《计算机基础知识》单元检测考试题六年级信息技术考试卷与考试题...
  10. mysql修改表只读属性_VF设置的疑问
  11. ggplot2绘制地图
  12. Proteus仿真——用两片74HC148及少量逻辑门构成16线--4线优先级编译器
  13. 星星之火-55:什么是微观量子?什么是量子的六大特征?什么是微观量子通信?
  14. 脱靶量与实际角度差计算
  15. 人工神经元算法视频教学,人工智能神经网络算法
  16. Fatal message conversion error;message rejected;it will be dropped or routed to a dead letter exchan
  17. lineage-14.1-20190402-UNOFFICIAL-le_x620.zip
  18. AAAI 2022 | 改进YOLOv3!IA-YOLO:恶劣天气下的目标检测
  19. Base64编解码原理并用Java手工实现Base64编解码
  20. Customizing the Banner

热门文章

  1. Blender 3.2自由定制做体积云絮形状(cloud制作)
  2. 中国常见空气质量数据标准汇总
  3. matlab谐波含量,基于谐波检测中的数字低通滤波器的MATLAB设计
  4. matlab 谐波电压含有量,电流平均值谐波检测方法MATLAB仿真
  5. 方向gravity_两种对齐方式,layout_gravity和gravity大不同
  6. judgement_mna_2016(32位fmt)
  7. 基于Flink百亿数据实时去重
  8. c语言用指针分离字符串数字与字符,c语言实验报告,指针的应用分别输出字符串中的数字和其他字符(共10篇).docx...
  9. linux mkdir命令用法,linux里面的mkdir命令
  10. Eclipse中导入外部jar包——添加lib