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),也许会有惊喜!

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

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

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

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

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

保存文件

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

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

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

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

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

未完待续

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

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

有其他技巧或者疑问的同学,也可以评论或者私信我,咱们一起讨论哦!

相关文章
|
3天前
|
数据处理 Python
如何使用Python的Pandas库进行数据排序和排名
【4月更文挑战第22天】Pandas Python库提供数据排序和排名功能。使用`sort_values()`按列进行升序或降序排序,如`df.sort_values(by='A', ascending=False)`。`rank()`函数用于计算排名,如`df['A'].rank(ascending=False)`。多列操作可传入列名列表,如`df.sort_values(by=['A', 'B'], ascending=[True, False])`和分别对'A'、'B'列排名。
13 2
|
2天前
|
机器学习/深度学习 算法 数据挖掘
PYTHON银行机器学习:回归、随机森林、KNN近邻、决策树、高斯朴素贝叶斯、支持向量机SVM分析营销活动数据|数据分享-2
PYTHON银行机器学习:回归、随机森林、KNN近邻、决策树、高斯朴素贝叶斯、支持向量机SVM分析营销活动数据|数据分享
24 1
|
21小时前
|
运维 Shell Python
Shell和Python学习教程总结
Shell和Python学习教程总结
|
1天前
|
Python
Python从入门到精通:深入学习面向对象编程——2.1.2继承、封装和多态的概念
Python从入门到精通:深入学习面向对象编程——2.1.2继承、封装和多态的概念
|
1天前
|
开发框架 前端开发 数据库
Python从入门到精通:3.3.2 深入学习Python库和框架:Web开发框架的探索与实践
Python从入门到精通:3.3.2 深入学习Python库和框架:Web开发框架的探索与实践
|
1天前
|
数据采集 数据可视化 数据处理
Python从入门到精通的文章3.3.1 深入学习Python库和框架:数据处理与可视化的利器
Python从入门到精通的文章3.3.1 深入学习Python库和框架:数据处理与可视化的利器
|
1天前
|
存储 网络协议 关系型数据库
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
|
1天前
|
机器学习/深度学习 算法 Python
数据分享|Python决策树、随机森林、朴素贝叶斯、KNN(K-最近邻居)分类分析银行拉新活动挖掘潜在贷款客户
数据分享|Python决策树、随机森林、朴素贝叶斯、KNN(K-最近邻居)分类分析银行拉新活动挖掘潜在贷款客户
20 4
|
2天前
|
机器学习/深度学习 算法 算法框架/工具
数据分享|PYTHON用KERAS的LSTM神经网络进行时间序列预测天然气价格例子
数据分享|PYTHON用KERAS的LSTM神经网络进行时间序列预测天然气价格例子
21 0
|
2天前
|
机器学习/深度学习 数据挖掘 网络架构
Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析
Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析
12 0

热门文章

最新文章