四步带你爬虫入门,手把手教学爬取电影数据

这篇具有很好参考价值的文章主要介绍了四步带你爬虫入门,手把手教学爬取电影数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文内容是通过Pycharm来进行实操

一、搭建虚拟环境

  • 创建项目的虚拟环境,目的是为了不让其他的环境资源干扰到当前的项目

怎么爬取电影,爬虫,python,开发语言

二、创建项目

本文将以豆瓣作为手把手学习参考,网址:https://movie.douban.com/top250,怎么爬取电影,爬虫,python,开发语言1. 进入Terminal终端,安装我们需要的scrapy模块

pip install scrapy

2. 通过pycharm进入Terminal终端,输入我们接下来打算创建的项目,以myspider为例

  • 创建完之后会生成对象的目录myspider

  • 创建我们想要爬取的蜘蛛名--可以理解为想要爬取的数据来源名字,比如本文是豆瓣

#Termianl终端输入
#先进入我们的项目目录
cd myspider
#创建蜘蛛,scrapy genspider +<爬虫名字> + <允许爬取的域名>
scrapy genspider douban movie.douban.com

三、编写爬虫案例

当我们创建完我们的蜘蛛名后,会在spiders里面生成对应的文件名douban.py

如上图,我们的spider子类scrapy.Spider定义了一些属性和方法

  • name:标识蜘蛛,在一个项目中必须是唯一的

  • allowed_domains:允许爬取的范围

  • start_urls:必须返回请求的可迭代(请求列表或者编写生成器函数),我们的爬行器将从该请求开始爬行。后续请求将从这些初始请求中相继生成。

  • parse():用来编写数据提取,会解析响应,将抓取的数据提取为字典

第一步:确定我们想要爬取的数据信息

  • 在items文件中编写我们想要爬取的字段

import scrapy   
class MyspiderItem(scrapy.Item):     
# define the fields for your item here like:     
# name = scrapy.Field()     
    title = scrapy.Field()  # 标题
    rating = scrapy.Field()  # 评估     
    quote = scrapy.Field()  # 概述     
    #brief_introduction = scrapy.Field() #剧情简介

第二步:打开settings设置一些相关配置信息

  • ROBOTSTXT_OBEY

ROBOTSTXT_OBEY = False

设置为False

  • DEFAULT_REQUEST_HEADERS

模拟网页登陆的请求头信息

DEFAULT_REQUEST_HEADERS = {     
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36', 
}
  • 设置日志输出信息

LOG_LEVEL = 'WARNING' # 设置日志显示的等级为WARNING 
LOG_FILE = './log.txt' # 将日志信息全部记录到log.txt文件中

第三步:编写douban.py,实现爬虫

怎么爬取电影,爬虫,python,开发语言

 文章来源地址https://www.toymoban.com/news/detail-835842.html

编写douban.py文件

import scrapy

# 自定义spider,继承scrapy.spider
class DoubanSpider(scrapy.Spider):
    # 爬虫名字
    name = "douban"
    # 允许爬取的范围,防止爬虫爬到别的网站
    allowed_domains = ["movie.douban.com"]
    #开始爬取的url地址
    start_urls = ["https://movie.douban.com/top250"]

    def parse(self, response):
        # scrapy的response对象可以直接进行xpath
        li_list = response.xpath('//div[@id="content"]//ol/li')
        for li in li_list:
            #创建一个数据字典,用来存储信息
            item = {}
            item["title"] = li.xpath(".//div[@class='hd']/a/span[1]/text()").extract_first()
            item['rating'] = li.xpath('.//div[@class="bd"]/div/span[2]/text()').extract_first()
            item['quote'] = li.xpath('.//div[@class="bd"]//p[@class="quote"]/span/text()').extract_first()

            print(item)

第四步:运行爬虫器

#运行name对应的名字
scrapy crawl douban

怎么爬取电影,爬虫,python,开发语言

 

到了这里,关于四步带你爬虫入门,手把手教学爬取电影数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 只需四步,手把手教你打造专属数字人

    伴随ChatGPT的问世,在技术与商业运作上都日渐发展成熟的数字人产业正持续升温。去年9月,北京市发布了国内首个数字人产业专项支持政策,提出将依托国家文化专网将数字人纳入文化数据服务平台。以数字人、ChatGPT为代表的互联网3.0创新应用产业机遇正迎面而来,美摄数

    2024年02月08日
    浏览(79)
  • 云原生应用开发,通过一个案例手把手带你入门

    针对云势所趋的市场发展。云计算和云原生应用已经成为主流技术趋势,学习这类技能有远见。可以开发出符合云原生运营模式的应用,满足企业业务发展需要。 实现资源的高效利用和弹性扩展。通过微服务架构、容器技术、弹性计算等手段,构建出计算资源利用高、扩展灵活的

    2024年02月06日
    浏览(69)
  • YOLOv5入门实践(1)——手把手带你环境配置搭建

      这两天我将pycharm社区版换成了专业版,也顺带着把环境从CPU改成了GPU版,本篇文章也就是我个人配置过程的一个简单记录,希望能够帮到大家啦~ ​   🍀本人YOLOv5源码详解系列:  

    2024年02月04日
    浏览(69)
  • Android:手把手带你入门跨平台UI开发框架Flutter

    定义:一款Google出品开源的移动客户端UI开发框架(SDK) 作用:用一套代码同时在Android、iOS上快速构建高质量、高性能的原生用户界面 开发语言:Dart语言(高开发效率、高性能等) 2. 特点 Flutter的主要特点包括:使用自身的高性能渲染引擎进行渲染 Dart编程语言语言 具体介

    2024年04月13日
    浏览(68)
  • 保姆式手把手带你入门期权——期权行权全步骤(建议收藏)

    量化、期权实盘开户找我哦~ 期权行权是指期权合约中的权利方(买方)在合约规定的时间(到期日)、价格(执行价)和方式下,行使其购买或卖出的权利。在行权过程中,买方有权按照合约规定的价格执行期权,参与相关资产的交易。 首先我们要了解50ETF期权的基本合约

    2024年02月03日
    浏览(51)
  • 手把手带你入门深度学习(一):保姆级Anaconda和PyTorch环境配置指南

    B站:马上就更!!!_bilibili CSDN:手把手带你入门深度学习(一):保姆级Anaconda和PyTorch环境配置指南_百年后封笔-CSDN博客 Github:封笔 公众号:百年后封笔 你好,我是封笔! 如今深度学习技术的不断演进,我们的生活发生着翻天覆地的变化,无论是计算机视觉、自然语言处

    2024年02月08日
    浏览(81)
  • Python爬虫入门教程!手把手教会你爬取网页数据

    其实在当今社会,网络上充斥着大量有用的数据,我们只需要耐心的观察,再加上一些技术手段,就可以获取到大量的有价值数据。这里的“技术手段”就是网络爬虫。今天就给大家分享一篇爬虫基础知识和入门教程: 爬虫就是自动获取网页内容的程序,例如搜索引擎,Go

    2023年04月26日
    浏览(115)
  • 从零入门激光SLAM(五)——手把手带你编译运行Lego_loam

    大家好呀,我是一个SLAM方向的在读博士,深知SLAM学习过程一路走来的坎坷,也十分感谢各位大佬的优质文章和源码。随着知识的越来越多,越来越细,我准备整理一个自己的激光SLAM学习笔记专栏,从0带大家快速上手激光SLAM,也方便想入门SLAM的同学和小白学习参考,相信看

    2024年01月17日
    浏览(106)
  • 【飞桨AI实战】交通灯检测:手把手带你入门PaddleDetection,从训练到部署

    本次分享将带领大家从0到1完成一个目标检测任务的模型训练评估和推理部署全流程,项目将采用以PaddleDetection为核心的飞浆深度学习框架进行开发,并总结开发过程中踩过的一些坑,希望能为有类似项目需求的同学提供一点帮助。 背景: 目标检测是计算机视觉的一个基础任

    2024年04月13日
    浏览(63)
  • 手把手教学RRT*(RRTSTAR)三维算法MATLAB仿真(代码可直接运行,视频手把手教学)

            在我以前的作品里有关于RRT算法的视频和代码,今天主要讲解一下RRT*算法的原理。RRT*算法主要是在RRT算法的基础上加上了重写父节点和随机重连的两个步骤。具体的实现方式我想以视频的方式向大家讲解,个人感觉讲解的十分详细。视频连接在这里,希望大家看

    2024年04月17日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包