python爬虫贴吧_Python爬虫简单实现,贴吧图片一键下
在平常上网阅读网页的时刻,经常会看到一些好看的图片,就盼望把这些图片保留下载,或许用户用来做桌面壁纸,或许用来做计划的素材。
最惯例的做法便是经由过程鼠标右键,抉择另存为。但有些图片鼠标右键的时刻并无另存为选项,另有方法就经由过程便是经由过程截图对象截取上去,但如此就降低图片的清晰度。
能够通过python 来完成这样一个简略的爬虫功效,把想要的图片爬取到当地。上面就看看如何应用python来完成这样的功效。
一,获得全部页面数据
起首能够先获得要下载图片的全部页面信息。写一个py
#coding=utf-8
import urllib
def getHtml(url):
page = urllib.urlopen(url)
html = page.read()
return html
html = getHtml("http://tieba.baidu.com/p/2738151262")
print html
Urllib 模块提供了读取web页面数据的接口,我们可以像读取本地文件一样读取www和ftp上的数据。首先,我们定义了一个getHtml()函数:
urllib.urlopen()方法用于打开一个URL地址。
read()方法用于读取URL上的数据,向getHtml()函数传递一个网址,并把整个页面下载下来。执行程序就会把整个网页打印输出。
二,筛选页面中想要的数据
Python 提供了非常强大的正则表达式,需要先要了解一点python 正则表达式的知识才行。查看页面源代码。
python爬虫
假如在百度贴吧找到了几张漂亮的壁纸,通过到前段查看工具。找到了图片的地址,如:src=”http://imgsrc.baidu.com/forum……jpg”pic_ext=”jpeg”
修改代码如下:
import re
import urllib
def getHtml(url):
page = urllib.urlopen(url)
html = page.read()
return html
def getImg(html):
reg = r'src="(.+?\.jpg)" pic_ext'
imgre = re.compile(reg)
imglist = re.findall(imgre,html)
return imglist
html = getHtml("http://tieba.baidu.com/p/2460150866")
print getImg(html)
创建了getImg()函数,用于在获取的整个页面中筛选需要的图片连接。re模块主要包含了正则表达式:
re.compile() 可以把正则表达式编译成一个正则表达式对象.
re.findall() 方法读取html 中包含 imgre(正则表达式)的数据。
运行脚本将得到整个页面中包含图片的URL地址。
三,将页面筛选的数据保存到本地
把筛选的图片地址通过for循环遍历并保存到本地,代码如下:
#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)" pic_ext'
imgre = re.compile(reg)
imglist = re.findall(imgre,html)
x = 0
for imgurl in imglist:
urllib.urlretrieve(imgurl,'%s.jpg' % x)
x+=1
html = getHtml("http://tieba.baidu.com/p/2460150866")
print getImg(html)
这里的核心是用到了urllib.urlretrieve()方法,直接将远程数据下载到本地。
通过一个for循环对获取的图片连接进行遍历,为了使图片的文件名看上去更规范,对其进行重命名,命名规则通过x变量加1。保存的位置默认为程序的存放目录。
程序运行完成,将在目录下看到下载到本地的文件。
python爬虫贴吧_Python爬虫简单实现,贴吧图片一键下相关推荐
- python简单爬虫入门一_Python爬虫快速入门:基本结构简单实例
本爬虫系列入门教程假设读者仅有一点点Python基础或者近乎为零的基础.如果是有Python基础的可以跳过一些对于Python基本知识的补充. 爬虫能干什么呢?一句话概括,正常通过浏览器可以获取的数据 ...
- python 爬虫哪个好_Python爬虫框架哪个最好用最简单
想使用python爬虫框架开发个爬虫,但目前了解有限,希望大家帮忙推荐几个,谢谢啦~ 另外,大家平常工作中都使用python干些什么事情呢?网站开发?爬虫?还是运维? scrapy 爬虫框架.纯pyt ...
- python爬虫开发环境_python爬虫开发教程下载|Python爬虫开发与项目实战(范传辉 著)pdf 完整版_ - 极光下载站...
Python爬虫开发与项目实战pdf扫描版下载.Python爬虫开发是一个Pthyon编程语言与HTML基础知识引领读者入门知识,重点讲述了云计算的相关内容及其在爬虫中的应用,进而介绍如何设计自己的爬 ...
- python爬虫自学路线_python 爬虫学习路线:从入门到进阶
大家好,我是凉拌 今天给大家详解一下我的爬虫学习路线. 对于小白来说,爬虫可能是一件非常复杂.技术门槛很高的事情.比如有的人则认为先要掌握网页的知识,遂开始 HTML\CSS,结果入了前端的坑,浪费了 ...
- python爬虫面试问题_Python爬虫面试总结
## Python爬虫面试总结 1. 写一个邮箱地址的正则表达式? [A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$ 2. 谈 ...
- python 正则表达式提取数据_Python爬虫教程-19-数据提取-正则表达式(re)
本篇主页内容:match的基本使用,search的基本使用,findall,finditer的基本使用,匹配中文,贪婪与非贪婪模式 Python爬虫教程-19-数据提取-正则表达式(re) 正则表达式 ...
- python爬取网页内容_Python爬虫原理解析
笔者公众号:技术杂学铺 笔者网站:mwhitelab.com 本文将从何为爬虫.网页结构.python代码实现等方面逐步解析网络爬虫. 1. 何为爬虫 如今互联网上存储着大量的信息. 作为普通网民,我 ...
- python爬虫requests库_python爬虫使用Requests库 - pytorch中文网
在入门教程中我们介绍了urllib库和urllib2的用法,同时我们了解一些爬虫的基础以及对爬虫有了基本的了解.其实在我们生产环境中,使用Request库更加方便与实用,同时我们这需要短短的几行代码就 ...
- python爬虫防屏蔽_python爬虫程序如何预防被限制
有一些网站不喜欢被爬虫程序访问,所以会检测连接对象,如果是爬虫程序,也就是非人点击访问,它就会不让你继续访问,所以为了要让程序可以正常运行,需要隐藏自己的爬虫程序的身份.此时,我们就可以通过设置Use ...
- python制作英语字典_Python爬虫之自制英汉字典
最近在微信公众号中看到有人用Python做了一个爬虫,可以将输入的英语单词翻译成中文,或者把中文词语翻译成英语单词.笔者看到了,觉得还蛮有意思的,因此,决定自己也写一个玩玩~~ 首先我们的爬虫要能将英 ...
最新文章
- Tomcat如何支持带中文的url?
- 柱坐标系下的ns方程_笛卡尔坐标系到底是什么?
- 算法经典书籍--算法设计与分析基础
- 【学无止境】关于通过PHP链接FTP或SFTP的问题及解决--FTP篇
- 软件工程模块开发卷宗_软件智能化再进一步,未来人人都能开发软件?
- 一次动态代理的填坑之旅
- Android studio的Activity详解
- 作业三-读书app原型设计
- Windows电脑垃圾的清理
- 读PPK谈javascript
- 洛谷P2744 [USACO5.3]量取牛奶Milk Measuring
- 1162: 6003 星期几?
- vuex 是什么? 以及它的基本使用
- 在debian7.8安装wcp知识库
- 图像相似度匹配——距离大全
- Google Chrome for Mac 谷歌浏览器
- 数据结构---判断链表是否有环
- electron项目构建打包缺少dll文件的问题解决办法
- Bandit算法学习[网站优化]04——UCB(Upper Confidence Bound) 算法
- au3 连接mysql_AutoIt3开发的操作SQlite数据库的源码
热门文章
- 如何学STM32 —— 十年经验教你如何学习嵌入式系统
- datax 导入数据中文乱码_浅谈数据同步之道
- java 界面位置_java界面中怎样设置位置
- mysql索引底层图_MySQL索引底层数据结构
- 计算机工具软件未来的发展,2017年我国PC及工具软件的发展概况
- python认识if语句_python初认识、基础数据类型以及 if 流程控制
- 微信读书vscode插件_vscode 常用的插件
- python数据库操作框架_python bottle 框架操作数据库
- arcgis引用样式无符号_【技术积累】arcgis制图应用:符号制作
- Java写入磁盘阵列_月光软件站 - 编程文档 - Java - 利用Linux创建磁盘阵列