爬虫四目标:
1、新建项目
2、明确目标
3、制作爬虫
4、存储内容
第一步:新建目标
scrapy startproject 项目名称
创建编写正则表达式的文件
scrapy genspider app名称(不可与项目名称同名)
第二步:明确目标,分析网站你要抓取什么网页内容和信息
在items.py 里面明确目标、定义抓取内容
第三步:制作爬虫 在app里面创建的文件中编写
项目运行,进入项目目录,scrapy crawl app项目名称
settings.py 项目设置文件
# 项目设置文件,全局项目设置 # 定义抓取域 #USER_AGENT = 'douban (+http://www.yourdomain.com)' # 并发量 #CONCURRENT_REQUESTS = 32 # 下载延迟 DOWNLOAD_DELAY = 0.5 # 域名并发量 #CONCURRENT_REQUESTS_PER_DOMAIN = 16 # IP并发量 #CONCURRENT_REQUESTS_PER_IP = 16 # 抓取登录时候使用 #COOKIES_ENABLED = False # 使用时候开启 #DEFAULT_REQUEST_HEADERS = { # 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', # 'Accept-Language': 'en', #} # Enable or disable spider middlewares # See https://docs.scrapy.org/en/latest/topics/spider-middleware.html # 使用时候开启 #SPIDER_MIDDLEWARES = { # 'douban.middlewares.DoubanSpiderMiddleware': 543, #} # 注册完信息在这个里面进行开启 #ITEM_PIPELINES = { # 'douban.pipelines.DoubanPipeline': 300, #} items.py文件,定义抓取目标,定义数据结构,所有的item都可以定义进去
app里面定义的正则表达式文件
import scrapy # 查重文件 class DoubanSpiderSpider(scrapy.Spider): # 爬虫名 name = 'douban_spider' # 允许的域名 allowed_domains = ['movie.bouban.com'] # 引擎会要一个入口url,扔到调度器里面去,然后将请求扔到引擎里面,然后把请求扔到下载器中,下载器分析解析,然后返回给douban_spider文件 start_urls = ['http://movie.bouban.com/top250'] # # 解析数据,存储数据 def parse(self, response): print(response.text) # 第二步明确目标 # 分析抓取https://movie.douban.com/top250网站那些内容 # 第三步爬虫文件的编写