爬取所有的电影名字,类型,时间等信息

1.准备工作

爬取的网页 https://www.ddoutv.com/f/27-1.html

创建项目

win + R 打开cmd输入

scrapy startproject 项目名

然后在pycharm终端输入

scrapy genspider 类名 xxx.com

一个爬虫类就创建好了

2.思路分析

  • 我们爬取全站数据首先要将分页的url规律找到
  • 因为我们的数据在二级页码,所以需要在一级页面里面拿到所以的二级页码url再进行请求
  • 二级页码url拿到后就可以开始写xpath获取需要的数据了*
  • 具体注释在代码内

    代码如下

    `import scrapy

from move.items import MoveItem

class TestSpider(scrapy.Spider):

name = 'Test'

# allowed_domains = ['xxx.con']
def start_requests(self):
# 有4896页数据所有循环请求
for i in range(1, 4897):
# html分页符用i代替
start_urls = f'https://www.ddoutv.com/f/27-{i}.html'
# 手动请求url
yield scrapy.Request(url=start_urls, callback=self.parse) def parse(self, response, **kwargs):
# 爬取所有的二级页面的url
all_a = response.xpath('//div[@class="stui-pannel-box"]/div[@class="stui-pannel_bd"]/ul/li')
# 遍历出来
for li in all_a: # type:scrapy.Selector
link = li.xpath('./div/a/@href').extract()[0]
# 将url拼接完整
links = response.urljoin(link)
# 回调
yield scrapy.Request(url=links, callback=self.reques) def reques(self, response):
# 获取二级页面的数据
all_name = response.xpath('//div[@class="stui-content"]/div[@class="container"]/div[@class="row"]/div/div[2]')
for i in all_name:
name = i.xpath('./h1/text()').extract_first(default=0)
print(name)
types = i.xpath('./p[1]/a[1]/text()').extract_first(default=0)
print(types)
address = i.xpath('./p[1]/a[2]/text()').extract_first(default=0)
print(address)
year = i.xpath('./p[1]/a[3]/text()').extract_first(default=0)
print(year)
actor = i.xpath('./p[2]/text()').extract_first(default=0)
print(actor)
director = i.xpath('./p[3]/text()').extract_first(default=0)
print(director)
update = i.xpath('./p[4]/text()').extract_first(default=0)
print(update)`

3.运行结果图

到此一个简单的scrapy爬取项目就完成啦!

scrapy爬虫简单案例(简单易懂 适合新手)的更多相关文章

  1. Scrapy爬虫及案例剖析

    由于互联网的极速发展,所有现在的信息处于大量堆积的状态,我们既要向外界获取大量数据,又要在大量数据中过滤无用的数据.针对我们有益的数据需要我们进行指定抓取,从而出现了现在的爬虫技术,通过爬虫技术我们可 ...

  2. Python之Scrapy爬虫框架安装及简单使用

    题记:早已听闻python爬虫框架的大名.近些天学习了下其中的Scrapy爬虫框架,将自己理解的跟大家分享.有表述不当之处,望大神们斧正. 一.初窥Scrapy Scrapy是一个为了爬取网站数据,提 ...

  3. scrapy爬虫学习系列二:scrapy简单爬虫样例学习

    系列文章列表: scrapy爬虫学习系列一:scrapy爬虫环境的准备:      http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_python_00 ...

  4. 关于富文本编辑器ueditor(jsp版)上传文件到阿里云OSS的简单实例,适合新手

    关于富文本编辑器ueditor(jsp版)上传文件到阿里云OSS的简单实例,适合新手   本人菜鸟一枚,最近公司有需求要用到富文本编辑器,我选择的是百度的ueditor富文本编辑器,闲话不多说,进入正 ...

  5. 做一个简单的scrapy爬虫

    前言: 做一个简单的scrapy爬虫,带大家认识一下创建scrapy的大致流程.我们就抓取扇贝上的单词书,python的高频词汇. 步骤: 一,新建一个工程scrapy_shanbay 二,在工程中中 ...

  6. 简单scrapy爬虫实例

    简单scrapy爬虫实例 流程分析 抓取内容:网站课程 页面:https://edu.hellobi.com 数据:课程名.课程链接及学习人数 观察页面url变化规律以及页面源代码帮助我们获取所有数据 ...

  7. python环境搭建-requests的简单安装(适合新手)

    安装完python之后,一定要记住安装后的路径.这是我当前的路径. 下面是requests的安装步骤: 我们这里直接用pip安装(这样比较适合新手),新版python自带pip,python3.6.1 ...

  8. IDEA+Maven 整合SSM框架实现简单的增删改查(新手入门,傻瓜操作)

    原博客地址:https://blog.csdn.net/khxu666/article/details/79851070 选用SSM框架的原因在目前的企业级Java应用中,Spring框架是必须的.S ...

  9. Scrapy爬取小说简单逻辑

    Scrapy爬取小说简单逻辑 一 准备工作 1)安装Python 2)安装PIP 3)安装scrapy 4)安装pywin32 5)安装VCForPython27.exe ........... 具体 ...

随机推荐

  1. 【行业Tip】三电是什么

    电动汽车的"三电"是指:电池.电机.电控.

  2. Laravel自定义错误提示,自定义异常类提示,自定义错误返回信息,自定义错误页面

    方法一 新增CustomException.php文件 App\Exceptions\CustomException.php <?php namespace App\Exceptions; us ...

  3. React学习小结(一)

    一.React的发展 facebook在构建instagram网站的时候遇见两个问题: 1.数据绑定的时候,大量操作真实dom,性能成本太高 2.网站的数据流向太混乱,不好控制 于是facebook起 ...

  4. 6. 堪比JMeter的.Net压测工具 - Crank 实战篇 - 收集诊断跟踪信息与如何分析瓶颈

    目录 堪比JMeter的.Net压测工具 - Crank 入门篇 堪比JMeter的.Net压测工具 - Crank 进阶篇 - 认识yml 堪比JMeter的.Net压测工具 - Crank 进阶篇 ...

  5. 用两行代码实现重试功能,spring-retry真是简单而优雅

    背景 最近做的一个需求,需要调用第三方接口.正常情况下,接口的响应是符合要求的,只有在网络抖动等极少数的情况下,会存在超时情况.因为是小概率事件,所以一次超时之后,进行一次重试操作应该就可以了.重试很 ...

  6. 写博客的技巧整理——基于Markdown

    我们需要掌握各种技巧,这样才能在写博客时游刃有余,以下内容觉得不错就点个赞吧 文章目录 1.目录与目录跳转 目录一(示例用勿点) 目录二(示例用勿点) 目录三(示例用勿点) 2.文字与图片 3.引用 ...

  7. 互联网前沿技术——01 找不到模块“lodash”

    检查安装 node --version 修改 安装:npm install 启动:grunt server 如果报错: 找不到模块"lodash" https://www.soin ...

  8. 如何将docker 镜像上传到docker hub仓库

    如何将docker 镜像上传到docker hub仓库 目录 如何将docker 镜像上传到docker hub仓库 背景 1.注册docker hub账号 2.docker hub上创建仓库 3.d ...

  9. Circle Linux镜像在阿里云镜像站首发上线

    镜像下载.域名解析.时间同步请点击阿里云开源镜像站 Circle Linux简介 Circle Linux 社区是一个开源.共创的 Linux 社区,将通过完全开放.包容的社区形式与全球开发者共同构建 ...

  10. Java的浅克隆和深克隆

    如何实现对象的克隆 (1)实现 Cloneable 接口并重写 Object 类中的 clone() 方法: (2)实现 Serializable 接口,通过对象的序列化和反序列化实现克隆,可以实现真 ...