如何用Python做爬虫?

我们最常规的做法就是通过鼠标右键,选择另存为。但有些图片鼠标右键的时候并没有另存为选项,还有办法就通过就是通过截图工具截取下来,但这样就降低图片的清晰度。好吧其实你很厉害的,右键查看页面源代码。我们可以通过python 来实现这样一个简单的爬虫功能,把我们想要的代码爬取到本地。下面就看看...
如何用Python做爬虫?
在我们日常上网浏览网页的时候,经常会看到一些好看的图片,我们就希望把这些图片保存下载,或者用户用来做桌面壁纸,或者用来做设计的素材。
我们最常规的做法就是通过鼠标右键,选择另存为。但有些图片鼠标右键的时候并没有另存为选项,还有办法就通过就是通过截图工具截取下来,但这样就降低图片的清晰度。好吧其实你很厉害的,右键查看页面源代码。
我们可以通过python 来实现这样一个简单的爬虫功能,把我们想要的代码爬取到本地。下面就看看如何使用python来实现这样一个功能。
具体步骤
获取整个页面数据首先我们可以先获取要下载图片的整个页面信息。
getjpg.py
#coding=utf-8import urllibdef getHtml(url):
page = urllib.urlopen(url)
html = page.read() return htmlhtml = getHtml("http://tieba.baidu.com/p/2738151262")print html
Urllib 模块提供了读取web页面数据的接口,我们可以像读取本地文件一样读取www和ftp上的数据。首先,我们定义了一个getHtml()函数:
urllib.urlopen()方法用于打开一个URL地址。
read()方法用于读取URL上的数据,向getHtml()函数传递一个网址,并把整个页面下载下来。执行程序就会把整个网页打印输出。
2.筛选页面中想要的数据
Python 提供了非常强大的正则表达式,我们需要先要了解一点python 正则表达式的知识才行。
http://www.cnblogs.com/fnng/archive/2013/05/20/3089816.html
假如我们百度贴吧找到了几张漂亮的壁纸,通过到前段查看工具。找到了图片的地址,如:src=”http://imgsrc.baidu.com/forum......jpg”pic_ext=”jpeg”

修改代码如下:
import reimport urllibdef getHtml(url):
page = urllib.urlopen(url)
html = page.read() return htmldef 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地址。
3.将页面筛选的数据保存到本地
把筛选的图片地址通过for循环遍历并保存到本地,代码如下:
#coding=utf-8import urllibimport redef getHtml(url):
page = urllib.urlopen(url)
html = page.read() return htmldef 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+=1html = getHtml("http://tieba.baidu.com/p/2460150866")print getImg(html)
这里的核心是用到了urllib.urlretrieve()方法,直接将远程数据下载到本地。
通过一个for循环对获取的图片连接进行遍历,为了使图片的文件名看上去更规范,对其进行重命名,命名规则通过x变量加1。保存的位置默认为程序的存放目录。
程序运行完成,将在目录下看到下载到本地的文件。

2018-01-05
Python作为一种解释型的胶水语言,上手简单、入门容易,标准库齐全,还有丰富的各种开源库,语言本身提供了很多提高开发效率的语法糖,开发效率高,总之“人生苦短,快用Python”(Life is short, you need Python!)。在Web网站开发,科学计算,数据挖掘/分析,人工智能等很多领域广泛使用。
开发环境配置,Python3.5.2,Scrapy1.2.1,使用pip安装scrapy,命令:pip3 install Scrapy,此命令在Mac下会自动安装Scrapy的依赖包,安装过程中如果出现网络超时,多试几次。2021-08-12
mengvlog 阅读 62 次 更新于 2025-10-31 08:49:06 我来答关注问题0
  •  翡希信息咨询 如何看待Python爬虫?Python爬虫是什么?(免费附教程)

    html.parser:Python内置解析器,基于DOM树分析,适合基础需求。BeautifulSoup:第三方库,支持多种解析引擎(如html.parser、lxml),功能强大且易用。lxml:高性能解析库,支持XML和HTML,解析速度快。应用程序:存储解析后的数据,如存入数据库(MySQL、MongoDB)或文件(CSV、JSON)。图:Python爬虫架构各...

  •  宜美生活妙招 在没有系统学习编程的情况下,如何快速上手Python爬虫?

    实践基础爬虫:通过实践一个简单的爬虫项目,如爬取一个静态网站的页面内容,来巩固所学知识。这将帮助你理解爬虫的基本工作流程,并熟悉如何使用requests和XPath(或BeautifulSoup)来实现它。三、掌握应对反爬虫措施的技巧 了解常见的反爬虫手段:网站通常会采取一些措施来防止爬虫访问,如验证码验证、IP封锁...

  •  翡希信息咨询 python爬虫urllib使用和进阶 | Python爬虫实战二

    方法:add_header(key, val)用于增加header中的键值对。示例:使用Request类构造请求,并添加随机User-Agent以模拟浏览器访问。实战演示 代码示例:通过urllib.request.Request和urlopen,结合随机User-Agent,实现对网页的请求和响应处理。关键步骤:导入必要模块(urllib.request, random)。定义URL和User-Agen...

  • 利用python写爬虫程序的方法:1、先分析网站内容,红色部分即是网站文章内容div。2、随便打开一个div来看,可以看到,蓝色部分除了一个文章标题以外没有什么有用的信息,而注意红色部分我勾画出的地方,可以知道,它是指向文章的地址的超链接,那么爬虫只要捕捉到这个地址就可以了。3、接下来在一个问题就...

  •  文暄生活科普 用python做爬虫下载视频

    步骤一:模拟登录以访问受限页面对于需要登录才能访问的内容,首先需要通过模拟登录过程来获取访问权限。这里使用了requests库的session功能,它可以保持会话状态,从而在后续请求中自动携带登录信息。示例代码如下:pythonlogin_url = 'xxx.com/user/ajaxlogin'session = requests.session()UA = "Mozilla/5.0...

檬味博客在线解答立即免费咨询

代码相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部