导航:首页 > 编程语言 > 数据爬虫python练习

数据爬虫python练习

发布时间:2023-03-22 06:50:49

1. 4种python爬虫(3. 微信小程序,如,超级猩猩)

目录:
1. PC网页爬虫
2. H5网页爬虫
3. 微信小程序爬虫
4. 手机APP爬虫

爬取超级猩猩的课表,该平台仅提供了微信小程序这一个途径,前面两种针对html网槐举页的爬取方式都不再适用。

采用抓包分析是我们制定方案的第一步。

我用的Mac电脑,fiddler只有一个简化版,所以另找了Charles这个类似的软件。启动Charles的代理,在手机WIFI中设置好对应的代理就可以开抓了。但是,抓到的https包的内容都是乱码,咋办?

Charles中提供了ssl证书,在手机端安装证书即可。推荐使用iPhone,直接安装描述文件即可。Android手机必须使用吵配系统版本在7.0以下的才行,7.0以上还需要反编译什么的,太麻烦了。

很容易的定位到了超级猩猩微信小程序载入课表的后台接口。拿这个URL在浏览器里访问试试,直接返回了json结果!超级猩猩很友好!

提取对应的铅碰碧URL,放到浏览器中验证,也可以支持返回json包,剩下就是分析一下这个json的数据结构,按照需要的方式导出了。

直接通过接口的爬取效率非常高,几秒钟就拉取了全国各个门店的排课,相当舒心。(下图的录屏没有进行加速)

最后一个挑战就是对只有Android/iOS的APP端应用数据的爬取。请看下一章

请点击: <下一页>

2. python爬虫---爬取LOL云顶之弈数据

本来是想爬取之后作最佳羁绊组合推算,但是遇到知识点无法消化(知识图谱),所以暂时先不组合了,实力有限

库的安装

1.requests  #爬取棋子数据

2.json  #棋子数据为js动态,需使用json解析

3.BeautifulSoup

实战前先新建个lol文件夹作为工作目录,并创建子目录data,用于存放数据。

1.爬取数据,新建个py文件,用于爬取云顶数据,命念中塌名为data.py

1.1定义个req函数,方便读取。//需设定编码格式,否则会出现乱码

def Re_data(url):

re = requests.get(url)

re.encoding = 'gbk'

data = json.loads(re.text)

return data['data']

1.2定义个Get函数,用于读取数据并使用保存函数进行保存数据,保存格式为json。

def Get_data():

# 获取数据并保存至data目录

base_url = 'https://game.gtimg.cn/images/lol/act/img/tft/js/'培灶

chess = Re_data(base_url + 'chess.js')

race = Re_data(base_url + 'race.js')

job = Re_data(base_url + 'job.js')

equip = Re_data(base_url + 'equip.js')

Save_data(chess,race,job,equip)

1.3定义save函数实现读取的数据进行文件保存,保存目录为工作目录下的data文件夹仔圆。

def Save_data(t_chess,t_race,t_job,t_equip):

with open('./data/chess.json','w') as f:

json.mp(t_chess,f,indent='\t')

with open('./data/race.json','w') as f:

json.mp(t_race,f,indent='\t')

with open('./data/job.json','w') as f:

json.mp(t_job,f,indent='\t')

with open('./data/equip.json','w') as f:

json.mp(t_equip,f,indent='\t')

1.4定义主函数main跑起来

if __name__ == '__main__':

start = time.time()

Get_data()

print('运行时间:' + str(time.time() - start) + '秒')

至此,数据爬取完成。

2.种族和职业进行组合。

2.1未完成 //未完成,使用穷举方法进行组合会出现内存不够导致组合失败(for循环嵌套导致数组内存超限)

//待学习,使用知识图谱建立组合优选,可参考:https://ya360.com/12447.html

期间遇到的问题:

1.爬取棋子数据时为动态js加载,需通过json模块的loads方法获取

2.3层for循环嵌套数据量大,导致计算失败,需优化计算方法。

3. python爬虫需要会什么

python爬虫要学什么?让我们一起了解一下吧!
1、学习计算机网络协议基础,了解一个完整的网络请求过程,大致了解网络协议(http协议,tcp-ip协议),了解socket编程,为后期学习爬虫打下扎实的基础。
2、学习前端基础,你需要掌握html、css和JavaScript之间的关系,浏览器的加载过程,ajax、json和xml,GET、POST方法。
3、学习python爬虫相关知识,比如最常使用的爬虫库requests,要知道如何用requests发送请求获取数据。网页定位和选取,比如beautifulsoup、xpath、css选择器,数据处理用正则表达式。
4、学习数据存储知识,比如用python将抓取的数据自动导出Excel或者数据库中。
拓展:爬虫python能做什么
1、收集数据
python爬虫程序可用于收集数据。这也是最直接和最常用的方法。由于爬虫程序是一个程序,程序运行得非常快,不会因为重复的事情而感到疲倦,因此使用爬虫程序获取大量数据变得非常简单和快速。
2、调研
比如要调研一家电商公司,想知道他们的商品销售情况。这家公司声称每月销售额达数亿元。如果你使用爬虫来抓取公司网站上所有产品的销售情况,那么你就可以计算出公司的实际总销售额。
3、刷流量和秒杀
刷流量是python爬虫的自带的功能。当一个爬虫访问一个网站时,如果爬虫隐藏得很好,网站无法识别访问来自爬虫,那么它将被视为正常访问。
除了刷流量外,还可以参与各种秒杀活动,包括但不限于在各种电商网站上抢商品,优惠券,抢机票和火车票。
今天的分享就是这些,希望能帮助到大家!

4. 教你用Python写一个爬虫,免费看小说

这是一个练习作品。用python脚本爬取笔趣阁上面的免费小说。

环境:python3
类库:BeautifulSoup
数据源: http://www.biqukan.cc

原理就是伪装正常http请求,正常访问网页。然后通过bs4重新解析html结构来提取有效数据。

包含了伪装请求头部,数据源配置(如果不考虑扩展其他数据源,可以写死弯蚂)。纤闹伏

config.py文件

fiction.py文件

summary.py文件

catalog.py文件

article.py文件

暂没有做数据保存模块。如果需要串起来做成一个完整的项目的话,只需要把小说数据结构保存即可(节省磁盘空间)。通过小说url可以很快速的提取出小说简介、目录、每一章的毁携正文。

如果想要做的更好,可以把目录,介绍、正文等部分缓存起来,当然得有足够的空间。

5. Python 爬虫的入门教程有哪些值得推荐的

Python 爬虫的入门教程有很多值得推荐的,以下是一些比较受欢迎和推荐的教程:

1.《精通 Python 网络爬虫》:这本书是一本入门级的 Python 爬虫教程,适合初学者学习。

bilibili上也有一些视频教程。

6. python 爬虫自学要多久

自学的话,根据每个人的情况来说,学习周期是不同的,如果没有任何基础,零基础小白进行Python学习的话,需要先进行简单的Python基础知识学习,就需要三个月左右的时间,然后再进行爬虫知识的学习,少则半年左右;如果参加Python培训的话,从入门到精通,学习周期五个月就可以了,学习内容更加系统化,符合企业用人需求,选择的应用领域更广泛。

7. 爬虫python入门难学吗

爬虫是大家公认的入门Python最好方式,没有之一。虽然Python有很多应用的方向,但爬虫对于新手小白而言更友好,原理也更简单,几行代码就能实现基本的爬虫,零基础也能快速入门,让新手小白体会更大的成就感。因此滚碰缓小编整理了新手小白必看的Python爬虫学习路线全面指导,希望可以帮到大家。
1.学习 Python 包并实现基本的爬虫过程
大部分爬虫都是按“发送请求——获得页面——解析页面——抽取并储存内容”这样的流程来进行,这其实也是模拟了我们使用浏览器获取网页信息的过程。Python中爬虫相关的包很多:urllib、requests、bs4、scrapy、pyspider 等,建议从requests+Xpath 开始,requests 负责连接网站,返回网页,Xpath 用于解析网页,便于抽取数据。
如果你用过 BeautifulSoup,会发现 Xpath 要省事不少,一层一层检查元素代码的工作,全都省略了。这样下来基本套路都差不多,一般的静态网站根本不在话下。当然如果你需要爬取异步加载的网站,可以学习浏览器抓包分析真实请求或者学习Selenium来实现自动化。
2.了解非结构化数据的存储
爬回来的数据可以直接用文档形式存在本地,也可以存入数据库中。开始数据量不大的时候,你可以直接通过 Python 的语法或 pandas 的方法将数据存为csv这样的文件。当然你可能发现爬回来的数据并不是干净的,可能会有缺失、错误等等,你还需要对数据进行清洗,可以学习 pandas 包的基本用法来做数据的预处理,得到更干净的数据。
3.学习scrapy,搭建工程化爬虫
掌握前面的技术一般量级的数据和代码基本没有问题了,但是在遇到非大模常复杂的情况,可能仍然会力不从心,这个时候,强大的 scrapy 框架就非常有用了。scrapy 是一个功能非常强大的爬虫框架,它不仅能便捷地构建request,还有强大的 selector 能够方便地解析 response,然而它最让人惊喜的还是它超高的性能,让你可以将爬虫工程化、模块化。学会 scrapy,你可以自己去搭建一些爬虫框架,你就基本具备Python爬虫工程师的思维了。
4.学习数据库知识,应对大规模数据存储与提取
Python客栈送红包、纸质书
爬回来的数据量小的时候,你可以用文档的形式来存储,一旦数据量大了,这就有点行不通了。所以掌握一种数据库是必须的,学习目前比较主流的 MongoDB 就OK。MongoDB 可以方便你去存储一些非结构化的数据,比如各种评论的文本,图片的链接等等。你也可以利用PyMongo,更方便地在Python中操作MongoDB。因为这里要用到的数据库知识其实非常简单,主要是数据如何入库、如何进行提取,在需要的时候再学习就行。
5.掌握各种技巧,应对特殊网站的反爬措施
当然,爬虫过程中也会经历一些绝望啊,比如被网站封IP、比如各种奇怪的验证码、userAgent访问限制、各种动态加载等等。遇到这些反爬虫的手段,当然还需要一些高级的技巧来应对,常规的比如访问频率控制、使用代理IP池、抓包、验证码的OCR处理等吵旁等。往往网站在高效开发和反爬虫之间会偏向前者,这也为爬虫提供了空间,掌握这些应对反爬虫的技巧,绝大部分的网站已经难不到你了。
6.分布式爬虫,实现大规模并发采集,提升效率
爬取基本数据已经不是问题了,你的瓶颈会集中到爬取海量数据的效率。这个时候,相信你会很自然地接触到一个很厉害的名字:分布式爬虫。分布式这个东西,听起来很恐怖,但其实就是利用多线程的原理让多个爬虫同时工作,需要你掌握Scrapy+ MongoDB + Redis 这三种工具。Scrapy 前面我们说过了,用于做基本的页面爬取,MongoDB 用于存储爬取的数据,Redis 则用来存储要爬取的网页队列,也就是任务队列。所以有些东西看起来很吓人,但其实分解开来,也不过如此。当你能够写分布式的爬虫的时候,那么你可以去尝试打造一些基本的爬虫架构了,实现一些更加自动化的数据获取。
只要按照以上的Python爬虫学习路线,一步步完成,即使是新手小白也能成为老司机,而且学下来会非常轻松顺畅。所以新手在一开始的时候,尽量不要系统地去啃一些东西,找一个实际的项目,直接开始操作。
其实学Python编程和练武功其实很相似,入门大致这样几步:找本靠谱的书,找个靠谱的师傅,找一个地方开始练习。
学语言也是这样的:选一本通俗易懂的书,找一个好的视频资料,然后自己装一个IDE工具开始边学边写。
7.给初学Python编程者的建议:
①信心。可能你看了视频也没在屏幕上做出点啥,都没能把程序运行起来。但是要有自信,所有人都是这样过来的。
②选择适合自己的教程。有很早的书籍很经典,但是不是很适合你,很多书籍是我们学过一遍Python之后才会发挥很大作用。
③写代码,就是不断地写,练。这不用多说,学习什么语言都是这样。总看视频,编不出东西。可以从书上的小案例开始写,之后再写完整的项目。
④除了学Python,计算机的基础也要懂得很多,补一些英语知识也行。
⑤不但会写,而且会看,看源码是一个本领,调试代码更是一个本领,就是解决问题的能力,挑错。理解你自己的报错信息,自己去解决。
⑥当你到达了一个水平,就多去看官方的文档,在CSDN上面找下有关Python的博文或者群多去交流。
希望想学习Python的利用好现在的时间,管理好自己的学习时间,有效率地学习Python,Python这门语言可以做很多事情。

8. Python爬虫实战(3)selenium完成瀑布流数据爬取

爬取时间:2021/01/27
系统环境:Windows 10
所用工具:Jupyter NotebookPython 3.0
涉及的库:selenium

蛋肥想法: 借助selenium,实现对“查看更多”的自动点击,目标是获取2020年的文章相关数据。

蛋肥想法: 36氪的数据很满足强迫症,没有空格换行,只需筛选出2020年的数据保存。

蛋肥想法: 此次重点是学习selenium,所以只简单做一下数据可视化。

9. 几个非常适合新手练习python爬虫的网页,总有

如果不想去内容里面抓图片的话,可以只抓缩略图,就是这个页面显示的图片,它在json数据中的image_list中,注意,将url中的list换成origin,就是大图哦!

阅读全文

与数据爬虫python练习相关的资料

热点内容
iphone13对wap3加密 浏览:553
pdf文件打开失败 浏览:911
dubbo怎么调用不同服务器接口 浏览:38
全能解压王app历史版本 浏览:73
优先队列与拓扑排序算法 浏览:279
pdf转换formacbook 浏览:869
pdf文件内容怎么编辑 浏览:46
134压缩机排气温度多少 浏览:254
unity等待编译后 浏览:804
黑鲨手机锁屏视频在哪个文件夹 浏览:779
wow地图解压后怎么压缩 浏览:819
有pdf却打不开 浏览:460
七星彩软件app怎么下载 浏览:217
32单片机的重映射哪里改 浏览:816
为什么前端不用刷算法题 浏览:708
对称加密系统和公钥加密系统 浏览:428
历史地理pdf 浏览:606
物联网云服务器框架 浏览:648
sybaseisql命令 浏览:183
android权威编程指南pdf 浏览:663