作为一个刚入门对python极具喜爱的小白,坚信实践才是掌握工具的唯一道路,所以一直想要用python来做一些项目来辅助提高工作、生活中的处理一些事情的效率。
在平时的工作中,总是难免会需要搜集各种各样的行业研究报告,单纯从搜索引擎中搜寻下载又是一个耗费时间和体力的事情。后来发现一个神奇良心的网站——数据局,里面时常更新一些报告解决燃眉之急。
这么一个大宝藏,我决定将其报告名称及链接爬取下来,因为下载需要涉及到登陆,而登陆遇到了比较棘手的图片验证的问题,后期将会针对报告本身的进行一些分析(下期见~)
其实整体思路是相当的简单, 因为网站本身就没有太多复杂的地方,思路如下:
1. 用requests库爬取报告列表页第一页,并通过lxml的etree进行页面分析获取到整体的页数
2. 因为翻页逻辑只是在 "http://www.shujuju.cn/lecture/detail/"后加上页码数字,故利用规律构建所有需要爬取的网页链接
3. 然后继续使用requests和xlml将所有列表页中报告名称和报告所在的页面链接给保留下来
4. 然后逐一去爬取报告详情页,文末附录的报告链接给抓取保存
5. 最后用csv将所有数据保存在本地
完整代码如下:
#-*- coding: utf-8 -*
import requests
import re
import time
import csv
from lxml import etree
#构建header
headers = {
"Accept": "app