scrapy是一个优秀的爬虫框架,可以非常直观规整的进行数据爬取。下面以爬取猫眼电影信息为例:

首先我们我们需要建立一个scrapy项目:
在项目目录下cmd窗口输入:

scrapy startproject maoyan
  • 创建一个maoyan爬虫项目:
  • 接着我们进入maoyan项目目录:
  • 然后我们创建一个spider:
scrapy genspider maoyan_spider maoyan.com

这样我们就创建好目录了

接着我们开始写item

import scrapyclass MaoyanItem(scrapy.Item):# define the fields for your item here like:# name = scrapy.Field()index = scrapy.Field()title = scrapy.Field()star = scrapy.Field()releasetime = scrapy.Field()score = scrapy.Field()

这是我们需要爬取的数据项

然后我们写spider

# -*- coding: utf-8 -*-
import scrapyfrom maoyan.items import MaoyanItemclass MySpider(scrapy.Spider):name = 'maoyan'  # 项目名allowed_domains = ['maoyan.com']  # 允许访问的域名def start_requests(self):url_list = []for i in range(0,10):url_list.append('https://maoyan.com/board/4?offset='+str(i))# 定义爬取的链接urls = url_listfor url in urls:# 爬取到的页面如何处理?提交给parse方法处理yield scrapy.Request(url=url, callback=self.parse)def parse(self, response):dl = response.css('.board-wrapper dd')for dd in dl:item = MaoyanItem()# extract()[0]等同于extract_first()item['index'] = dd.css('.board-index::text').extract_first()item['title'] = dd.css('.name a::text').extract_first()# strip方法是去除空格和换行符item['star'] = dd.css('.star::text').extract_first().strip()item['releasetime'] = dd.css('.releasetime::text').extract_first()item['score'] = dd.css('.integer::text').extract_first() + dd.css('.fraction::text').extract_first()yield item

在这里面我们重写了start_url和parse方法,采用css解释器对response进行解析

接着我们写过滤器pipelines

import json
class MaoyanPipeline(object):def __init__(self):self.fp = open('budejie.json','w',encoding='utf-8')def process_item(self, item, spider):return itemdef process_item(self, item, spider):item_json = json.dumps(dict(item),ensure_ascii=False)self.fp.write(item_json+'\n')return item

这里我们在初始化方法中添加文件保存方法,并重写process_item方法,将爬取内容转化成json
配置设置文件settings
我们需要把robots协议设为: ROBOTSTXT_OBEY = False
并添加:

DEFAULT_REQUEST_HEADERS = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8','Accept-Language': 'en','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36',}
ITEM_PIPELINES = {'maoyan.pipelines.MaoyanPipeline': 300,
}

最后我们在项目maoyan下设置启动文件start.py

from scrapy import cmdline
cmdline.execute(['scrapy','crawl','maoyan'])

这样我们直接启动start.py就获得了爬取数据的json文件

scrapy爬取猫眼电影信息相关推荐

  1. Scrapy爬取猫眼电影评论

    Scrapy爬取猫眼电影评论 文章目录 Scrapy爬取猫眼电影评论 1.寻找评论接口 2.分析接口URL 接口URL规律 构造URL接口 分析JSON参数 3.Scrapy代码 spiders文件 ...

  2. 爬虫基本库request使用—爬取猫眼电影信息

    使用request库和正则表达式爬取猫眼电影信息. 1.爬取目标 猫眼电影TOP100的电影名称,时间,评分,等信息,将结果以文件存储. 2.准备工作 安装request库. 3.代码实现 1 imp ...

  3. 小白学python-实战-爬取猫眼电影信息

    这次我们来学习爬去猫眼电影前100名的电影 1.首先我们打开猫眼电影top100的网页:http://maoyan.com/board/4? 我们发现有offset=页数,来进行翻页 2.我们打开py ...

  4. scrapy爬取豆瓣电影信息

    1.新建项目 scrapy startproject douban cd douban cd spiders scrapy genspider douban_spider movie.douban.c ...

  5. scrapy爬取猫眼电影及详情页

    本来是在学习matplotlib画图的,发现自己没有数据去画图光看命令效果好像不是特别大,就想着去猫眼爬点电影来画图.然后就想着刚好练习下以前学过的scrapy,然后悲剧就开始了. 整个spider的 ...

  6. (爬取猫眼电影TOP100的电影信息(含图片、评分等))

    爬取猫眼电影TOP100的电影信息(含图片.评分等) 让我们直接进入正题 1.导入需要的库 2.获取页面 3.分析页面 4.保存文件 全部代码 让我们直接进入正题 对猫眼电影的网站进行分析 其链接为: ...

  7. 使用PHP+QueryList 爬取猫眼电影榜单信息

    爬虫是我一直以来跃跃欲试的技术,现在的爬虫框架很多,比较流行的是基于python,nodejs,java,C#的的框架,其中又以基于python的爬虫流行最为广泛,还有的已经是一套傻瓜式的软件操作,如 ...

  8. Python全栈开发-Python爬虫-05 爬取猫眼电影榜单信息

    爬取猫眼电影榜单信息(翻页) 一. 获取url及headers 首先进入猫眼电影首页: 猫眼电影 之后点击菜单栏的 榜单 并在下面选择 TOP100榜 接着右击检查并刷新界面,在Network中找到4 ...

  9. 利用正则表达式爬取猫眼电影TOP100信息

    本文利用requests库和正则表达式爬取了猫眼电影TOP100电影信息,并将电影封面和标题.主演等文字信息保存在了本地.本文完整代码链接:https://github.com/iapcoder/Ma ...

  10. python爬虫,爬取猫眼电影1(正则表达式)

    本文用正则.xpath.beautifulsoup.css.pyquery几种不同的方式,爬取猫眼电影.只是记录过程.比较乱. 猫眼电影现在也添加了一些反爬虫机制,如果直接用requests可能会40 ...

最新文章

  1. 网络工程师职业发展解读
  2. MIT博士用概率编程让AI和人类一样看三维|NeurIPS 2021
  3. 寻找带环的链表的柄长
  4. 【LeetCode从零单排】No20.ValidParentheses
  5. 纯CSS图片缩放后显示详细信息
  6. linux安装RabbitMQ和amqp扩展(这个安装rabbitmq通过了但是代码测试没有通过)
  7. 合肥南站,你怎么这么棒?人民日报都夸你了!
  8. java fx listview,JavaFX 8自定义ListView单元它是邪恶的
  9. 飞天茅台超卖P0事故:请慎用Redis分布式锁!
  10. WebBrowser的Cookie操作
  11. 解读华为云原生数据库设计原则,打破传统数据库上云瓶颈
  12. 1016.外网资源下载神器
  13. Linux性能优化实战:应用的CPU使用率100%,我该怎么办(05)
  14. linux aix 环境,在AIX中设置中文环境
  15. 同一台电脑安装两个版本的jdk和jre
  16. 【Android】achartengine的柱状图和饼状图的使用
  17. 巧妙删除其它类别的怪文件
  18. 百度大脑开放日走进厦门 全面解析AI如何赋能企业服务智能化
  19. 移动硬盘损坏怎么恢复数据?对症恢复更有效
  20. 程序员除了写代码,还能做哪些副业?

热门文章

  1. Java Audio Video Encoder
  2. backdrop-filter,让你的网站熠熠生”毛’
  3. hdu2458 2010.3.6
  4. 启动listener遇TNS-12555/ TNS-12560 /TNS-00525错误处理
  5. 哈夫曼树以及哈夫曼编码
  6. 常成员函数和静态成员函数
  7. 无他,唯手熟尔-前端实习面试题篇
  8. 杂记:Atmel sama5d3 DMA Controller (DMAC)
  9. 用window调用kjb和ktr
  10. AutoCAD 系统变量