python实现简单爬虫百度首页_python实现简单爬虫功能的示例
在我们日常上网浏览网页的时候,经常会看到一些好看的图片,我们就希望把这些图片保存下载,或者用户用来做桌面壁纸,或者用来做设计的素材。
我们最常规的做法就是通过鼠标右键,选择另存为。但有些图片鼠标右键的时候并没有另存为选项,还有办法就通过就是通过截图工具截取下来,但这样就降低图片的清晰度。好吧~!其实你很厉害的,右键查看页面源代码。
我们可以通过python 来实现这样一个简单的爬虫功能,把我们想要的代码爬取到本地。下面就看看如何使用python来实现这样一个功能。
一,获取整个页面数据
首先我们可以先获取要下载图片的整个页面信息。
getjpg.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 正则表达式的知识才行.
假如我们百度贴吧找到了几张漂亮的壁纸,通过到前段查看工具。找到了图片的地址,如: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使用百度进行爬虫简单学习例子
root@kali:~/py# python table.py list: ['http://www.baidu.com/s?wd=python&pn=10&oq=python& ...
- 【Python】百度首页GIF动画的爬虫
今天百度首页的GIF动画很可爱,就想着用才学的爬虫爬取一下,虽然直接点击"图片另存为"就可以了 import requestsimport urllibclass Gif():de ...
- python爬虫百度图片_python实现爬取百度图片的方法示例
本文实例讲述了python实现爬取百度图片的方法.分享给大家供大家参考,具体如下: import json import itertools import urllib import requests ...
- python爬网站的题库_Python零基础爬虫教程(实战案例爬取电影网站资源链接)
前言 好像没法添加链接,文中的链接只能复制到浏览器查看了 这篇是我写在csdn的,那里代码格式支持更好,文章链接 https://blog.csdn.net/d497465762/article/de ...
- 用我对HTML的点点理解来做个简单的百度首页
为什么80%的码农都做不了架构师?>>> 在我心里,HTML一直以来都是一个新鲜而神秘的东西,好多次想静下心来研究研究,最终因为各种原因搁置下来.终于,最近终于有时间看看其中的 ...
- python如何爬取百度云_python如何爬取百度云连接方法指导
本篇文章主要介绍了python urllib爬取百度云连接的实例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 翻看自己以前写的程序,发现写过一个爬取盘多多百度云资源的东西,完全是当时想看变形 ...
- python爬虫文本去重_Python微型异步爬虫框架
Amipy Python微型异步爬虫框架(A micro asynchronous Python website crawler framework) 基于Python 3.5 + 的异步async- ...
- python模拟浏览器打开百度首页并登录或者点击首页新闻并保存网页
首先不知道怎么模拟打开浏览器的童鞋先看我的上篇文章:http://blog.csdn.net/Trisyp/article/details/78688106 这篇文章涉及到前期配置,所以不会的一定要先 ...
- python斐波那契递归_Python递归斐波那契示例
python斐波那契递归 Good day, learners! In this tutorial we are going to learn about Python Recursion and u ...
最新文章
- 包子和饺子之扫地机器人_扫地机器人和体重秤在一起,能生出什么宝宝? | 爆笑囧图...
- numpy 中的三个特别的索引操作 c_, r_, s_
- openmp官方源码_MNN推理过程源码分析笔记(一)主流程
- Swift学习之使用guard的好处
- 微信小程序scroll-wiew 横向滚动问题
- 新一代蓝牙5标准开启 会成为物联网的最佳选择吗
- Golang基础知识入门详解
- WEB打印分页类(JS)
- 【论文写作】毕业论文怎么写?
- 认识与防御XSS攻击
- 银行家算法及其c++代码实现
- 高效记忆/形象记忆(05)110数字编码表 0-9
- Logstash 时间转换(YYYY-MM-dd HH:mm:ss转Unix时间)
- Day10-服务调用-删除课程的同时删除所有小节视频-p158、p159
- Fatal error:Cannot ‘break‘ 2 levels in数据库导出错误解决
- RINEX 2.11 观测值文件格式说明
- 计算机网络技术三级英文,计算机三级网络技术真题整理(国外英文资料).doc...
- 【路径规划】基于matlab拓扑图和跟随领导者机器人编队路径规划【含Matlab源码 2500期】
- IP-guard功能详解——安全U盘
- 3.9使用ValidationSummary控件