最近学习压力比较大,倒也不是学校的学习,而是接了两个编程的单子,第一个是学生期末作业,是网络编程相关的,会,但是会的不全,于是趁这个机会,学习了一些新的东西,感觉还不错.用时一周,包括帮他们写了论文,而且还得到了他们的好评,感觉还不错.
第二个单子接的就有点自大了,是爬虫相关的,自己是刚刚学习爬虫,很多东西还不知道,看到了一个顾客的需求是:爬取百度文库所有的文档链接.感觉自己应该能做得到,就接下了.
后来在分析文库网站的时候,才发现,不是自己想象的那样子.
我原想在网站地图爬到所有的文档大分类,再进入分类爬取每一页的url,这中情况是很好爬的,所有的分类url都有迹可循,直接获取每个页面下的文档url就可以了
但是文库给限制了能查看的页数(20页),所以无法获得更早期的文档,这样最后只能得到三十万份文份的名称和url.而实际上文库在14年的时候就已经有一亿文档了.
后来询问了群里的刘泽明大佬,他是个爬虫大牛,建议我去看看手机网页或app,看看能不能找到突破口,我发现手机端是动态加载的,有可能可以拉倒最后面,获得所有数据.
但是抓包之后翻倒最后,发现也是限制了的.放弃了
后来我直接告诉了客户,我没有做出来,但是小姐姐还是鼓励了我,但是写不出来就是写不出来,这个工作就暂时停了.
后来随着更深入的学习,接触了爬虫框架,这个框架好牛啊,后来又接触到了CrawlSpider类,这样就可以全站爬取自己想要的内容了
既然直接爬爬不到,那他总得是在这个网站上吧,那我所有的东西都爬下来,做一个筛选不就得了!
于是直接上手就是做,写好了规则,定义了爬取范围,设置了链接跟进,由于数据量巨多,还开了随机User-Agent和代理池,自己小测试了一把,没有问题!直接就交给客户了.
这几天虽然忙,但是学到了不少东西,赚到了钱,很开心!