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

爬虫解码~以及我的一些小经验

时间:2019-03-05 21:36:21      阅读:357      评论:0      收藏:0      [点我收藏+]

标签:replace   with   方案   文件写入   默认   进制   with open   print   dal   

爬虫-真正意义上来说   只要是个有数据的网站都可以爬   , 没有爬不了的东西

今天我就分享一下一些在爬虫过程中可以用到的一些诀窍

首先解码问题  

我们获取网站的时候 一般用content.decode("utf-8")  ,可是有时候当我们把网站的

内容保存到html文件的时候文件里面没有数据  ,这个问题可以用两种方法解决

第一, 我们要在文件写入的时候 在with open 里写第三个参数 encoding=‘utf-8’

第二种解决方案是直接获取网站数据 的时候写 比如变量名是r ,r.content.decode("utf-8").encode(‘gbk‘,‘ignore‘),就是忽略

这里面还有一个很实用的东西  就是 断点   exit[-1]  ,它可以终止正在运行的程序 

当我们爬取的数据有瑕疵的时候可以替换调,用链式调用   比如   a.replace(‘‘,‘‘).replace

这样很方便    也可以用正则来提取那些你想要的数据 比如  regex = re.compile(‘要匹配的东西‘)

print(regex.findall(这里面是要写要从哪里匹配的文件)[0]) ,0参数可以把套在外边的列表给整没了     

#下视频和图片意义都差不多,格式都差不了多少

下视频的时候 :

with open(‘文件名‘,‘ab’) as f : 

f.write(a.content)

with open 的第二个参数必须是ab是追加的意思   ,不写参数的话默认为r 参数

下图片的时候

with open(‘文件名‘,‘wb’) as f : 

f.write(a.content)

wb参数就是二进制的方法来打开   没有的话创建

 

不过爬虫技术里最重要的就是正则匹配 , 没有东西是正则匹配不出来的,而xpath范围很小

跟花拳绣腿差不多

在爬虫的世界里什么数据都可以爬  , 要是你不能爬的话那只能证明你的技术不到位

所以爬任何一个网站都不能放弃  , 坚持就是胜利 , 加油!!

爬虫解码~以及我的一些小经验

标签:replace   with   方案   文件写入   默认   进制   with open   print   dal   

原文地址:https://www.cnblogs.com/weifeng-888/p/10479483.html

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