龙空技术网

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

云志学Python 68

前言:

现在咱们对“python网络数据采集总结”可能比较注重,看官们都需要剖析一些“python网络数据采集总结”的相关知识。那么小编也在网上网罗了一些关于“python网络数据采集总结””的相关内容,希望小伙伴们能喜欢,咱们一起来学习一下吧!

学习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框架的一些注意事项。

有其他技巧或者疑问的同学,也可以在评论区写上,咱们一起讨论哦!

写在最后

喜欢此篇文章或觉得这篇文章对你有帮助的读者可以点播关注或者转发,私信小编001即可获得小编自己整理的一份2018最新的python资料和0基础入门教程,欢迎初学和进阶中的小伙伴

标签: #python网络数据采集总结