下面是代码的简单实现,变量名和方法都是跑起来就行,没有整理,有需要的可以自己整理下:

image2local:

import requests
import time
from lxml import etree
import os #存储位置
dir = 'xxxxxx' #网址地址
image_host = 'https://www.27270.com' #获取爬取列表
def get_list(page_detail=''):
#爬取列表
page = requests.get('https://www.27270.com/ent/meinvtupian/list_11_{0}.html'.format(page_detail))
#解析列表数据
image_urls = etree.HTML(page.text)
print(image_urls.xpath('/html/body/div[2]/div[7]/ul/li/a[2]/@href'))
pages = image_urls.xpath('/html/body/div[2]/div[7]/ul/li/a[2]/@href') return pages def getEntityUrl(url):
#爬取传过来的地址
page = requests.get(image_host+url)
page.keep_alive = False
image_urls = etree.HTML(page.content) try:
image = image_urls.xpath('//*[@id="picBody"]/p/a[1]/img/@src')[0]
next = image_urls.xpath('//*[@id="nl"]/a/@href')[0]
title = image_urls.xpath('/html/body/div[2]/div[2]/h1/text()')[0]
except:
return False #爬取第一张
if next.find('##')>1:
return False
else:
result = image2local(image,title,next)
return True #爬取图片
def image2local(url,title,name):
title = title.split('(')[0]
if not os.path.exists(dir + title):
os.mkdir(dir + title)
try:
image = requests.get(url)
except:
return True
# print(image.content+)
with open(dir + title+'/{0}.jpg'.format(name),'wb') as f:
f.write(image.content)
f.close()
return True if __name__ == '__main__':
x = range(1,215)
for i in x:
list = get_list(i)
for image in list:
num = 1
result = True
while result:
next = image.replace('.','_{0}'.format(num)+'.')
num = num+1
result = getEntityUrl(next)

python代码是现学现写的,大家勿喷

python如何使用request爬取图片的更多相关文章

  1. Python从网页上爬取图片

    在搜索壁纸的时候,想把壁纸保存到本地,一张一张的保存太过麻烦,所以想到用Python来爬取壁纸. 设计思路: 1.首先先去找有壁纸的网页: http://www.acfun.cn/a/ac334521 ...

  2. Python爬虫学习 - day1 - 爬取图片

    利用Python完成简单的图片爬取 最近学习到了爬虫,瞬时觉得很高大上,想取什么就取什么,感觉要上天.这里分享一个简单的爬取汽车之家文章列表的图片教程,供大家学习. 需要的知识点储备 本次爬虫脚本依赖 ...

  3. python爬虫---scrapy框架爬取图片,scrapy手动发送请求,发送post请求,提升爬取效率,请求传参(meta),五大核心组件,中间件

    # settings 配置 UA USER_AGENT = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, l ...

  4. python网络爬虫之爬取图片

    今天使用requests和BeautifulSoup爬取了一些图片,还是很有成就感的,注释可能有误,希望大家多提意见: 方法一:requests import requests from bs4 im ...

  5. PYTHON 利用ImagePipeline专门爬取图片

    自定义file_path()函数,即可以原有图像文件名为名来保存,并分类保存 def file_path(self, request, response=None, info=None): image ...

  6. [python爬虫] 爬取图片无法打开或已损坏的简单探讨

    本文主要针对python使用urlretrieve或urlopen下载百度.搜狗.googto(谷歌镜像)等图片时,出现"无法打开图片或已损坏"的问题,作者对它进行简单的探讨.同时 ...

  7. 孤荷凌寒自学python第八十二天学习爬取图片2

    孤荷凌寒自学python第八十二天学习爬取图片2 (完整学习过程屏幕记录视频地址在文末) 今天在昨天基本尝试成功的基础上,继续完善了文字和图片的同时爬取并存放在word文档中. 一.我准备爬取一个有文 ...

  8. 孤荷凌寒自学python第八十一天学习爬取图片1

    孤荷凌寒自学python第八十一天学习爬取图片1 (完整学习过程屏幕记录视频地址在文末) 通过前面十天的学习,我已经基本了解了通过requests模块来与网站服务器进行交互的方法,也知道了Beauti ...

  9. 爬取图片过程遇到的ValueError: Missing scheme in request url: h 报错与解决方法

    一 .scrapy整体框架 1.1 scrapy框架图 1.2 scrapy框架各结构解析 item:保存抓取的内容 spider:定义抓取内容的规则,也是我们主要编辑的文件 pipelines:管道 ...

随机推荐

  1. Java中创建线程的三种方式以及区别

    在java中如果要创建线程的话,一般有3种方法: 继承Thread类: 实现Runnable接口: 使用Callable和Future创建线程. 1. 继承Thread类 继承Thread类的话,必须 ...

  2. eclipse里将java工程改web工程

    转自:http://blog.csdn.net/heirenheiren/article/details/8488245 把一个普通的eclipse项目转成web项目 1.  编辑工程的.projec ...

  3. Keras查看model weights .h5 文件的内容

    Keras的模型是用hdf5存储的,如果想要查看模型,keras提供了get_weights的函数可以查看: for layer in model.layers: weights = layer.ge ...

  4. JAVA WEB -- request

    request request.getContextPath()  返回站点的根目录 request.getRealpath("/")得到的是实际的物理路径,也就是你的项目所在服务 ...

  5. react学习笔记(二)编写第一个react组件

    继续上一节课的内容,打开App.js:会看到如下代码: import React, { Component } from 'react';  //在此文件中引用React,以及reat的组件类 imp ...

  6. vim.sh

    #!/bin/bash #https://github.com/txthinking mkdir /tmp/_ curl https://raw.githubusercontent.com/txthi ...

  7. Android 集成ShareSDK分享QQ或空间成功后,回调却不执行的原因

    AndroidMainifest.xml中的如箭头所示的id一定要与assets下ShareSDK.xml中配置的QQ的AppId一定要相同. 如下图

  8. git diff命令详解

    1 如下命令: [devel@localhost pontus]$ git diff webserver/web_pontus/app_api/v0/urls.py# 显示如下: diff --git ...

  9. angular.js学习笔记--概念总结

    好久没更新了,现在开始学习学习angularjs,并且把学习到的一些知识总结记录一下,方便以后查找以及希望能给初学者一些帮助!(由于本人也是初学ng所以各位慎重理解!) 废话不多说,开始! $root ...

  10. poj1094 Sorting It All Out【floyd】【传递闭包】【拓扑序】

    Sorting It All Out Time Limit: 1000MS   Memory Limit: 10000K Total Submissions:39731   Accepted: 139 ...