如何用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 阅读 44 次 更新于 2025-09-09 16:52:18 我来答关注问题0
  •  赛玖百科小窍门 python爬虫:纯小白该如何学习爬虫

    分布式爬虫:了解如何使用多线程、多进程或分布式系统来提高爬虫效率。这通常需要掌握Scrapy + MongoDB + Redis等工具的使用。数据分析和可视化:学习如何使用Python进行数据分析,如使用pandas库处理数据,使用matplotlib或seaborn库进行数据可视化。这将帮助你更好地理解爬虫抓取的数据。七、参考资源和图片展示 ...

  •  翡希信息咨询 从0到1学习Python爬虫-使用Chrome浏览器进行抓包!

    按下F12键,即可打开Chrome的开发者工具。Chrome开发者工具包含多个面板,如Elements(元素面板)、Console(控制台面板)、Sources(源代码面板)、Network(网络面板)、Performance(性能面板)、Memory(内存面板)、Application(应用面板)和Security(安全面板)。使用Network面板进行抓包:点击Network面板,然后...

  •  赛玖久生活日记 python爬虫自学之路:整理一下爬虫需要的python基本知识点,没事儿常看看,早晚用得上

    常用操作:匹配:使用re.match()、re.search()、re.findall()等方法进行匹配。替换:使用re.sub()方法进行替换。编译:使用re.compile()方法编译正则表达式,提高匹配效率。XPath XPath:一种在XML文档中查找信息的语言,也常用于HTML文档的解析。学习资源:Python爬虫之数据解析(XPath)(建议搜索相关教...

  •  翡希信息咨询 如何学习Python爬虫[入门篇]?

    推荐使用Python 3.x版本的教程,因为Python 2.x已经停止维护。可以选择以下两个教程之一作为入门学习材料:Python爬虫入门教程(博主:cuiqingcai)Python网络爬虫入门教程(博主:whybug)学习内容:爬虫综述:了解爬虫的基本概念、应用场景和法律法规。爬虫基础:学习如何使用Python的内置库(如urllib)进行网页...

  • 1、安装必要的库 为了编写爬虫,你需要安装一些Python库,例如requests、BeautifulSoup和lxml等。你可以使用pip install命令来安装这些库。2、抓取网页数据 主要通过requests库发送HTTP请求,获取网页响应的HTML内容。3、解析HTML 使用BeautifulSoup等库对HTML进行解析,提取需要的数据。4、存储数据 将提取的数据...

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

代码相关话题

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