码迷,mamicode.com
首页 > 其他好文 > 详细

简单的爬虫学习笔记

时间:2018-01-06 22:09:45      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:如何获取   编码   正则   循环   pac   url   本地   开始   res   

作为一只小白刚开始学python,听到用python写爬虫就感觉十分的高端。当我看到知乎大佬们写爬虫用了各种库更懵逼了。

其实基础爬虫可以直接用python自带的库urllib,re(但确实用了requests后就不想用urllib)

写程序一定要心里有点B数,


>>>所以不妨先来想想我的爬虫是来干什么的

 emmmm,小姐姐照片,我戳的美照。确立小目标后就准备开始了。


>>>爬虫到底是什么

还是很懵逼,我又要如何获取图片呢?

这时候我的html知识用上了:图片都是通过链接写到网站上的,通过链接就能找到这张图片

那么如何用链接找到图片呢:对服务器发送请求,它的response中就包含图片

所以我的任务具体化为:    要找到网站上图片链接,发送请求,然后保存到本地


>>>准备打开新世界的大门了

第一步:找到要爬的网页先发送一个小小的请求:

url=requests.get("url",headers={})              #最好加上头部,它还有其他作用(⊙?⊙)

第二步:分析网页

打开浏览器的开发者工具,就会可以在在Elements栏看见网页的html,然后在找到<img >标签下的链接,确认一下是不是所找的图片,如果是的话就拿小本本记下来,如果不是就继续找。

然后呢?

难道要一个个一个找吗?难道没有一劳永逸的办法吗?

这时候正则(re)模块j就要上场了,所以可以用网页请求返回的url.text中来找到我们想要的图片链接。

imglist=re.findall(“   ”,url.text)  

  #url_list是图片链接的列表,“ “中要手动添加图片链接的相同部分,这用时候前面的小本本筛选一下就可以了(相当于索引)

第三步:再次发送请求

我们得到图片链接的列表后要挨个挨个发送图片链接的请求,用for循环再好不过了

第四步:保存到本地

法1:和发送请求一起写

 

技术分享图片
 

法2.:先发请求再写入

m=requests.get("url_list",headers={})

with open(‘ m‘,‘wb‘) as f                    # ‘wb‘指写入二进制编码

f.write(m.content)                                           #m.content 指m的二进制编码

 

f.close()                                                          #最后关闭文件

第五步:检查本地相应文件夹查看是否含有相应文件

>>>然后组合一下(直接上图 ━┳━ ━┳━)

 

技术分享图片
 

>>>心得体会:

写出来还是很有成就感的,但是很多时候都是格式的问题导致运行出错,所规范写法很重要啊

如:

保持地址在某个文件夹要这样写:‘c:\img ’             

再比如:  x=x+1;      最后的分号一定不能没有

还有的就是找资料一定要带脑子,不能看到有什么就硬生生搬运过来,理解原理是最重要的

最后一点,胶水语言的库真是千变万化

简单的爬虫学习笔记

标签:如何获取   编码   正则   循环   pac   url   本地   开始   res   

原文地址:https://www.cnblogs.com/mskzj/p/8215312.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!