Python爬虫Scrapy框架入门(1)
也许是很少接触python的原因,我觉得是Scrapy框架和以往Java框架很不一样:它真的是个框架。
从表层来看,与Java框架引入jar包、配置xml或.property文件不同,Scrapy的模式是先用Scrapy建立项目,然后对项目中部分文件进行编辑,从而达到爬取相应网页的目的。
控制台->进入目标目录->输入下面指令来建立Scrapy项目:
scrapy startproject projName
如此,我们建立了一个空的Scrapy项目。其目录如下:
projName/ scrapy.cfg projName/ __init__.py items.py pipelines.py settings.py spiders/ __init__.py ...
之后我们需要做的,就是编辑其中的部分文件。其中,items.py文件如下:
import scrapy class DmozItem(scrapy.Item): title = scrapy.Field() link = scrapy.Field() desc = scrapy.Field()
projName/spiders.py如下:
import scrapy class MySpider(scrapy.Spider): name = "dmoz" allowed_domains = ["dmoz.org"] start_urls = [ "http://www.dmoz.org/Computers/Programming/Languages/Python/Books/", "http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/" ] def parse(self, response): filename = response.url.split("/")[-2] + '.html' with open(filename, 'wb') as f: f.write(response.body)
dmoz是官方文档的示例中爬取的网站。
之后,在控制台,进入projName目录,运行
scrapy crawl dmoz
爬取对应的页面。