今天晚上弄了一个简单的爬虫,可以爬取网页的图片,现在现在做一下准备工作。

需要的库:urllib 和 re

urllib库可以理解为是一个url下载器,其中有三个重要的方法 urllib.urlopen()和urllib.read()还有urllib.urlretrieve()这三个方法,具体使用可以在网上查到;re这个库提供对正则表达式支持.

我们要爬取的网页是:http://pic.yesky.com/496/33546996d_13.shtml   把美女筱崎爱给拔下来,其实关键就是要写出一个图片地址对应的正则表达式,下面是代码片段

# coding=utf-8

#页面下载器库
import urllib
#提供正则表达式的库
import re
#下载爬行页面函数
def getHtml(url):
page = urllib.urlopen(url)
html = page.read()
return html #得到图片
def getImg(html):
reg = r'src="(.+?\.jpg)"'
imgre = re.compile(reg) #compile方法把正则表达式编译成一个正则表达式对象
imglist = re.findall(imgre,html) #读取html中包含imgre的数据
x = 0
for imgurl in imglist:
urllib.urlretrieve(imgurl,'%s.jpg'%x)
x+=1 #爬取的图片地址格式 src="http://img1.imgtn.bdimg.com/it/u=326965152,678962023&fm=23&gp=0.jpg"
url = 'http://pic.yesky.com/496/33546996d_13.shtml'
html = getHtml(url)
getImg(html)

Python爬虫--简单爬取图片的更多相关文章

  1. python爬虫(爬取图片)

    python爬虫爬图片 爬虫爬校花网校花的图片 第一步 载入爬虫模块 #载入爬虫模块 import re #载入爬虫模块 import requests #载入爬虫模块 第二步 获得校花网的地址,获得 ...

  2. [python学习] 简单爬取图片站点图库中图片

    近期老师让学习Python与维基百科相关的知识,无聊之中用Python简单做了个爬取"游讯网图库"中的图片,由于每次点击下一张感觉很浪费时间又繁琐.主要分享的是怎样爬取HTML的知 ...

  3. 用python爬虫简单爬取 笔趣网:类“起点网”的小说

    首先:文章用到的解析库介绍 BeautifulSoup: Beautiful Soup提供一些简单的.python式的函数用来处理导航.搜索.修改分析树等功能. 它是一个工具箱,通过解析文档为用户提供 ...

  4. Python爬虫之爬取慕课网课程评分

    BS是什么? BeautifulSoup是一个基于标签的文本解析工具.可以根据标签提取想要的内容,很适合处理html和xml这类语言文本.如果你希望了解更多关于BS的介绍和用法,请看Beautiful ...

  5. [Python爬虫] Selenium爬取新浪微博客户端用户信息、热点话题及评论 (上)

    转载自:http://blog.csdn.net/eastmount/article/details/51231852 一. 文章介绍 源码下载地址:http://download.csdn.net/ ...

  6. 初次尝试python爬虫,爬取小说网站的小说。

    本次是小阿鹏,第一次通过python爬虫去爬一个小说网站的小说. 下面直接上菜. 1.首先我需要导入相应的包,这里我采用了第三方模块的架包,requests.requests是python实现的简单易 ...

  7. python爬虫学习05-爬取图片

    python爬虫学习05-爬取图片 确定要爬取的网址:https://shenan.tuchong.com/20903415/#image309854686 要爬取的内容:使用浏览器插件xpath对图 ...

  8. python爬虫实战---爬取大众点评评论

    python爬虫实战—爬取大众点评评论(加密字体) 1.首先打开一个店铺找到评论 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经 ...

  9. Python爬虫简单实现CSDN博客文章标题列表

    Python爬虫简单实现CSDN博客文章标题列表 操作步骤: 分析接口,怎么获取数据? 模拟接口,尝试提取数据 封装接口函数,实现函数调用. 1.分析接口 打开Chrome浏览器,开启开发者工具(F1 ...

随机推荐

  1. GO语言练习:不定参数函数

    1.代码 2.运行 1.代码 package main import "fmt" func MyPrintf(args ...interface{}){ for _, arg := ...

  2. 使用 Eclipse C/C++ Development Toolkit 开发应用程序

    使用 Eclipse C/C++ Development Toolkit 开发应用程序 (转) 来自http://blog.csdn.net/favory/article/details/189080 ...

  3. Redis集群的配置

    [转]Redis集群的配置 一:memcache 和 Redis 对比总结 [memecache 特点] 1:速度最快(没有自测,但网上有详细的测试用例) 2:支持水平扩展,可以任意添加节点 [red ...

  4. .net的五层架构

    原文章地址是http://www.360doc.com/content/11/1210/21/19147_171335782.shtml 我们刚开始学习架构的时候,首先会想到分层的概念,分层架构比较经 ...

  5. JS手机访问PC端网站自动跳转到手机端网站

    <script type="text/javascript"> //移动端url跳转,自定义部分开始 function mobile_device_detect(url ...

  6. maven pom文件结构详解

    POM文件结构 Project Object Model是Maven2项目的基础所在,简单来说它就是一个XML文件,Maven2用它来描述一个工程的整个生命周期所需要执行的一系列功能和特性. 最小配置 ...

  7. velocityjs 动画库 比jquery默认的animate强

    神坑记录: 1.transform: translate3d(80%,0,0); 无法作为参数,必须修改为这种:translateX: 0% 官方文档 http://velocityjs.org/ g ...

  8. MySql的join(连接)查询 (三表 left join 写法)

    1.内连接:将两个表中存在连结关系的字段符合连接条件的记录形成记录集 Select A.name,B.name from A inner join B on A.id=B.id和 Select A.n ...

  9. subprocess模块还提供了很多方便的方法来使得执行 shell 命令

    现在你可以看到它正常地处理了转义. 注意 实际上你也可以在shell=False那里直接使用一个单独的字符串作为参数, 但是它必须是命令程序本身,这种做法和在一个列表中定义一个args没什么区别.而如 ...

  10. 增强for循环

    import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.Li ...