python 下载图片损坏_爬虫爬取出的图片下载出错,图片文件直接损坏
import requests
import os, sys, stat
from lxml import etree
import time
class HuangMan():
def __init__(self):
#设置请求头
self.headers = {'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36'}
self.url_list = []
self.Hman_url_list = []
self.Hman_name_list = []
def get_url_list(self):
#这里是设置爬取到第3页,想要更多的话请自行更改
url = "http://www.93qoqo.com/artlist/27-%d.html"
for i in range(2,4):
#获取第2到3页的url
self.url_list.append(url % i)
#由于第一页网址不同,所以单独写一个获取函数
def start_1(self):
url_1 = "http://www.93qoqo.com/artlist/27.html"
response = requests.get(url_1, headers = self.headers).content.decode('utf-8')
html = etree.HTML(response)
result = html.xpath('//ul/li[@class="name"]/a')
for i in range(len(result)):
#获取result的属性
shuxing = result[i].attrib
#获取url
self.Hman_url_list.append("http://www.93qoqo.com" + shuxing.get('href'))
#获取名字
self.Hman_name_list.append(shuxing.get('title'))
print("正在爬取第1页的网站信息")
time.sleep(2)
#从第二页开始爬取信息
def start(self):
self.start_1()
self.get_url_list()
for url in self.url_list:
response = requests.get(url, headers = self.headers).content.decode('utf-8')
html = etree.HTML(response)
result = html.xpath('//ul/li[@class="name"]/a')
for i in range(len(result)):
#获取result的属性
shuxing = result[i].attrib
#获取url
self.Hman_url_list.append("http://www.93qoqo.com" + shuxing.get('href'))
#获取名字
self.Hman_name_list.append(result[i].text)
print("正在爬取第%d页的网站信息" % (self.url_list.index(url) + 2))
time.sleep(2)
self.wenjian()
self.main()
def wenjian(self):
#创建文件夹
if os.path.exists("photo") == False:
os.makedirs("photo")
os.chmod("photo", stat.S_IWRITE)
os.chdir("photo")
else:
print("文件已经存在")
def main(self):
for url in self.Hman_url_list:
response = requests.get(url, headers = self.headers).content.decode('utf-8')
html = etree.HTML(response)
result = html.xpath('//center/div[@class="t_msgfont"]/img')
print(self.Hman_name_list[self.Hman_url_list.index(url)])
for i in range(len(self.Hman_name_list)):
#创建次级文件夹用于存放图片
f = os.makedirs(self.Hman_name_list[i])
os.chmod(self.Hman_name_list[i], stat.S_IWRITE)
print("正在创建文件夹")
for e in range(len(result)):
print("下载图片中。。。请稍等片刻")
name ="%d.jpg" % e
#请求图片
respomse=requests.get(url,headers=self.headers)
#下载
with open(os.path.join(self.Hman_name_list[i],name),mode='wb') as f:
f.write(respomse.content)
if __name__ == "__main__":
h = HuangMan()
h.start()
python 下载图片损坏_爬虫爬取出的图片下载出错,图片文件直接损坏相关推荐
- python爬虫网页中的图片_Python爬虫爬取一个网页上的图片地址实例代码
本文实例主要是实现爬取一个网页上的图片地址,具体如下. 读取一个网页的源代码: import urllib.request def getHtml(url): html=urllib.request. ...
- Python爬虫-爬取快看漫画网图片并拼接成漫画长图
Python爬虫-爬取快看漫画网图片并拼接成漫画长图 1.爬取图片 2.拼接图片 1.爬取图片 import os import requests from bs4 import BeautifulS ...
- python批量下载静态页面_爬虫实战之,爬取壁纸,批量下载
一.前言 在开始写爬虫之前,我们先了解一下爬虫 首先,我们需要知道爬虫是什么,这里直接引用百度百科的定义 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按 ...
- python爬虫详解(四)——使用爬虫爬取你想要的图片 类似于图片下载器【百度引擎】
这个爬虫用的是百度引擎,后续需要爬取别的网站需要自行更改 点个赞留个关注吧!! 我们废话不多说,上代码: # -*- coding: utf-8 -*- import re import reques ...
- python爬虫爬图片教程_Python爬虫爬图片需要什么
Python爬虫爬图片需要什么?下面用两种方法制作批量爬取网络图片的方法: 第一种方法:基于urllib实现 要点如下: 1.url_request = request.Request(url) 2. ...
- python爬取豆瓣短评_爬虫-爬取豆瓣短评
爬虫-爬取豆瓣短评 啥是爬虫? 按照一定的规则,自动地抓取互联网信息的程序. 为啥要用爬虫? 可以利用爬虫自动地采集互联网中的信息,采集回来后进行相应的存储或处理,在需要检索某些信息的时候,只需在 ...
- 爬虫python下载网站所有图片_python爬虫(4):多页图片批量下载-澎湃网信息图...
澎湃网文章的质量不错,它的"美数课"栏目的信息图做得也很好.图片干货多还能带来ppt和图表制作的技巧.为了更方便浏览所有文章图片,通过分析Ajax爬取栏目至今所有信息图的图片. 但 ...
- python 爬虫代码_python之路(一)_爬虫—爬一下网页代码输出到文件
在上次公众号中讲到要用python进行开发,所以又拾起来了python.这不,从爬虫进行入门熟悉一下.爬虫是个啥呢?简单说:就是你想高效地从网上获取一些信息,而不用鼠标点点点.官方解释:网络爬虫(又称 ...
- python爬虫爬取慕课网中的图片
我们简单地爬取慕课网中免费课程下的第一页的图片,如想爬取多页图片,可以添加for循环自行实现 python版本:3.6.5 爬取网址:http://www.imooc.com/course/list ...
最新文章
- CISCO 3550交换机配置DHCP三步骤
- Login failed with an access denied error.
- 如何使用sed在文件中确定行插入带有变量的字符串
- windows XP安装配置Perl Apache
- 【pmcaff】凯文-凯利:最大颠覆来自创业公司与边缘产业
- li 字多出了省略号_文字溢出自动显示省略号css方法 -
- [渝粤教育] 中国地质大学 面向对象程序设计 复习题 (2)
- 分析一个文本文件(英文文章)中各个词出现的频率,并且把频率最高的十个词打印出来...
- python字典类型可迭代_核心数据类型--字典
- 表主键自增长Mybatis插入数据报错
- UITableView介绍 之 复杂cell的高度计算
- java.lang.RuntimeException: Package manager has died
- 联想7400打印机如何与手机连到一起_激光打印机与喷墨打印机,哪个使用成本更低?...
- Win10桌面美化:推荐2款高质量桌面美化工具,值得收藏
- 知识| 四种渲染到底是啥?终于有人讲明白了(上)
- 利用html简单自我介绍案例
- css3 烟 蚊香_如何使用纯CSS实现蚊香燃烧的效果(附源码)
- C#读写修改设置调整UVC摄像头画面-伽玛
- 灰色系统GM(1,1)模型预测实例
- adams中对槽口、凸轮等进行约束
热门文章
- (转载)Android进阶2之Activity之间数据交流(onActivityResult的用法)
- tomcat启动不了,报java.lang.Exception: Socket bind failed: [730013] ???
- 字符串(strcmp)
- error while loading shared libraries: libmysql....
- PWM波形的simulink仿真
- OpenGL:ImGUI在GLFW库和GLAD/GLEW库的环境下使用
- Ubuntu/Deepin--How to remove packeges?
- Xshell更改命令提示符以及背景配色
- 笔记3——C++类的一些特性
- 144显示器只有60_HKC IG27电竞显示器体验:27英寸+IPS+144Hz,千元平民价值不值?...