最近有朋友在做OJ题库,顺手做个小爬虫,导出一份题库列表来看看!
目标:浙江大学题库
工具:python3.6,requests库、lxml库、pycharm
思路:先找到网页中题库所在的位置
然后我们点击第一页和后面几页,看看url的变化
发现规律了吗?就是Number后面的页数变了,其他的都没变,这样就很方便构建循环了,在来看看源码中题目的title和Id以及url的位置
是不是很明显,在a标签的属性中有具体的URL,包括ID也在URL中出现,而title在font标签中出现了,这样就很简单了,我们直接用xpath抓取td标签,然后匹配出url和title,并且切割url把id也写出来(这里偷懒就不去上面的td中单独抓取ID了),然后写到字典中吧,这样方便查看,代码如下:
20多行代码全部搞定,运行结果如下:
不到10秒全部抓到本地了,当然这里注意不要重复运行,很可能会被封IP的哦!
将txt文档中的内容复制到在线解析json的网页中,看看结果
完美呈现~!当然了,大家有兴趣可以去题目的url中将题目也抓出来,这个可以做为下一步改进的地方!
非常简单的一个小爬虫,python在做这方面的工作还是很给力的,欢迎大家来和我一起学习python!