在编写Python程序的时候,有很多库供我们选择,如urllib、requests,BeautifulSoup,lxml,正则表达式等等,使得我们在获取网页源代码或者选择元素的时候很方便,但是库多了,自己纠结症也犯了。。。额。自己今天爬的是对战平台的DOTA排行榜(ps:我在简书看到的一个评论,关于这个网站的,索性自己爬下了-_-),巩固下知识吧。
![1531909-933a22722674ac9c.png](https://i-blog.csdnimg.cn/blog_migrate/bf2667ad4206c290d7b64d4502148518.webp?x-image-process=image/format,png)
排行榜
1、分析网站
打开开发者工具,我们观察到排行榜的数据并没有在doc里
![1531909-fe1ba117208807af.png](https://i-blog.csdnimg.cn/blog_migrate/1684061e99b6c1aecfc679ea95232f1e.webp?x-image-process=image/format,png)
doc文档
在Javascript里我么可以看到下面代码:
![1531909-9da33ce8aee85d5f.png](https://i-blog.csdnimg.cn/blog_migrate/69794e619855e10033e6b7016cdf50fb.webp?x-image-process=image/format,png)
ajax的post方法异步请求数据
在 XHR一栏里,我们找到所请求的数据
![1531909-3b008fa3457c3d63.png](https://i-blog.csdnimg.cn/blog_migrate/3b7af19ea2bd95b5c9d9f59f9386b6a2.webp?x-image-process=image/format,png)
json存储的数据
请求字段为:
![1531909-218c4ce65e22c66d.png](https://i-blog.csdnimg.cn/blog_migrate/29c506afb9fdaca1e58c496cc7848cf3.webp?x-image-process=image/format,png)
post请求字段
2、伪装浏览器,并将json数据存入excel里面
![1531909-991c57a01697324e.png](https://i-blog.csdnimg.cn/blog_migrate/3a8c57975fea4ec5242edb9ef73e918b.webp?x-image-process=image/format,png)
获取玩家信息
![1531909-df5ce55e9fceb13a.png](https://i-blog.csdnimg.cn/blog_migrate/c20b46419dbb7f376f1189e1dd90f2b9.webp?x-image-process=image/format,png)
将数据保存到excel中
3、结果展示
![1531909-0ad9e042291b60a8.png](https://i-blog.csdnimg.cn/blog_migrate/6575a453e11874cc253e14adf965043d.webp?x-image-process=image/format,png)
保存的数据
4、总结
在掌握一些基本的爬虫知识之后,自己想做一些爬虫进阶的实战项目,比如使用一些框架(scrapy、pyspider等)、还有使用代理池等等。还有很多知识要学习自己加油吧。