您的位置:首页 > 编程语言 > Python开发

Python学习汇总,做数据采集的一些小技巧,干货满满

2018-06-30 16:38 513 查看


学习Python也有一段时间了,在学习过程中不断的练习学到的各类知识,做的最多的还是爬虫,也就是简单的数据采集,有采集图片(这个最多了。。。),有下载电影的,也有学习相关的比如ppt模板的抓取,当然也写过类似收发邮件,自动登录论坛发帖,验证码相关操作等等!

这些脚本有一个共性,都是和web相关的,总要用到获取链接的一些方法,在此总结一下,也分享给正在学习的小伙伴

安装相关

python的各个版本其实分别并不大,所以不用太纠结用3.6还是3.7.

而我们经常使用的库呢,建议大家学到什么库安装什么库

有的同学会纠结,库安装不上的问题,这个推荐大家百度搜索:python whl 第一个就是吧,在里面有各个库的各个版本,选择对应的下载回来,用pip install 文件完整路径 安装即可!

例如:pip install d:\requests_download-0.1.2-py2.py3-none-any.whl

最基本的抓站——获取源代码

import requests#导入库

html = requests.get(url)#获取源代码

html.encoding='utf-8'#指定含中文的网页源代码编码格式,具体格式一般存在于源代码的meta标签内

适用于静态网页

网站反“反爬”

大部分的网站(各类中小型网站)都会需要你的代码有headers的信息,如果没有,会直接拒绝你的访问!大型网站反而很少,尤其是门户网站,比如新浪新闻、头条图集、百度图片的爬虫,基本没有什么反爬措施,相关内容可以看看我的其他文章!

而有反爬措施的网站,大部分可以按加入UA信息——加入HOST、Referer(反盗链)信息的顺序加入到headers数据(字典格式)中来尝试!代码格式 requeststs.get(url,headers=headers)

UA信息是浏览器信息,告诉对方服务器我们是什么浏览器,平时可以收集下相关信息做个UA池,需要的时候调用就可以,也可以随机调用,防止被网站发现,注意的是如果是移动端,一定要注意移动端的网页和pc端的不一样,比如做微博爬虫,我们就比较喜欢移动端,它的反爬力度比pc端的要低很多,也提醒大家,如果一个网站反爬很厉害,你可以去看看移动端(手机登录然后复制url),也许会有惊喜!



HOST信息, 网站的主机信息,这个一般是不变的

Referer信息 ,这个就是“反盗链”的关键信息,简单的说,就是你是从哪里到当前页面的,破解也很简单,把url放到里面就行!

如果上述办法还是绕不过反爬,那么就麻烦一些,把headers里面的信息都写进去吧

终极反“反爬”:去学习selenium吧少年!

保存文件

其实可以简单的分两大类:字符串内容保存和其他内容保存!简单的2行代码就可以解决



a+为文末追加写入模式,适用于字符串内容的写入,注意排版,也可以在'a+'后面添加参数encoding='utf-8'指定保存文本的编码格式

wb为二进制写入模式,适用于找到对象的真实下载地址后用二进制方式下载文件



未完待续

篇幅有限,本来想写完的,但是有人和我说,写的太多没人看。。。这就很尴尬了!那就先写到这里吧!

也正好有时间重新整理下后面的内容,大概有:自动登录(cookie池)和保持登录、ip代理、验证码(这个是大项)以及scarpy框架的一些注意事项。

有其他技巧或者疑问的同学,也可以评论或者私信我,咱们一起讨论哦!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Python