由于项目需要,最近开始学习和使用Python写web爬虫。要理解网络爬虫最好的例子就是使用最多的搜索引擎,网络爬虫是搜索引擎最重要的一部分。搜索引擎根据用户的输入关键字,使用一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列中并最终呈现给用户。
实际项目中,我们往往不需要爬取所有网站的源码,而只是对感兴趣的某个或某几个网站做定向爬取,爬取的内容也不仅仅是URL,而是根据具体的项目需求而定。
项目背景
根据用户关键字爬取www.pnas.org等6个文献搜索引擎的检索结果并记录文献标题、作者、时间、邮件和URL等信息,使用Windows桌面软件以列表的形式呈现符合检索关键字的条目。
方案选取
根据背景描述,至少存在两种可选择方案:
- API,如果网站为用户提供了开放的API,那么事情变得简单很多,根据用户关键字调用相应的API就能获取数据库中文献相关信息
- 网络爬虫,如果网站没有提供API,那么只能通过爬虫的方式获取的想要的信息。
由于6个目标网站都没有提供相应的API,所以只能硬着头皮选择方案2。根据需求可以发现,项目涉及到两方面的技术:爬虫和windows GUI。虽然C/C++,Java,Python,Ruby等等都能够写爬虫,但是从开发周期和开发成本的角度出发,Python有Scrapy这种强大的网络爬虫库可供使用自然成为首选方案。Windows GUI可选的空间就不那么大了,MFC,Qt就是最经典的,其中PyQt是Python版本的Qt库,与Python结合编写GUI程序最为适合,并且从跨平台的角度出发,Python+PyQt也成为了最佳的组合,虽然性能上可能会有一些牺牲。

本文介绍了Python爬虫项目背景,选择Python和Scrapy的原因,并详细阐述了Python与Scrapy的配置过程,包括Python安装、pip安装、Scrapy安装以及在Windows环境下遇到的问题与解决方法。

2463

被折叠的 条评论
为什么被折叠?



