本文是对用Python偷偷告诉你国庆8亿人都去哪儿浪? 这篇文章的实践。
具体设计思想、步骤请参考原文,这里只对核心流程及注意点做说明。
1. 思路
【从去哪儿网上抓取数据(包含地理信息及热度值)】-> 【使用pyecharts渲染数据,得到渲染结果的html】
2. 开发工具
- Anaconda3. 用于创建及切换Python环境。
- PyCharm. Python的开发IDE
具体使用方法可以看之前总结的文章。
3. 注意点
3.1 反爬虫
从去哪儿抓包时,最好设定一个最大页数,否则单单一个类别就有好几千页,数据量太大,而且容易被反爬虫识别:
上图中302的那条出现时,说明被反爬虫系统识别了,点击url, 可以看到如下:
输入2次验证码后,可以继续抓数据了。
3.2 Charles抓取Python程序的https请求
上图使用Charles对Python程序的https请求抓包时,一开始出现了SSL握手失败,无法抓包的情况。
解决办法:
(1)从Keychain中导出Charrles的Root Certifaction为.pem类型文件到本地文件夹:
(2)在requests中,带上verify参数:
4. 结果展示
生成的html文件默认为render.html,放在Python源文件同目录下:
5. 相关代码
实践的代码放到了Github上:CrawlerPlay