scrapy框架简单实现豆瓣评分爬取案例

这篇具有很好参考价值的文章主要介绍了scrapy框架简单实现豆瓣评分爬取案例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

豆瓣网址:https://movie.douban.com/top250

1.创建scrapy框架

scrapy startproject 项目名(scrapy_test_one)

创建好以后的目录是这样的

scrapy框架简单实现豆瓣评分爬取案例,scrapy

2.创建spider文件

在spiders目录下创建一个spider_one.py文件,可以随意命名,该文件主要是让我们进行数据爬取的。
运行命令:

scrapy genspider spider_one baidu.com

注意末尾的域名是用来设置爬取的范围的

spider_one.py代码如下

import scrapy
from scrapy import Request

from scrapy_test_one.items import ScrapyTestOneItem
# from scrapy.selector import HtmlXPathSelector


class SpiderOneSpider(scrapy.Spider):
    name = "spider_one"
    allowed_domains = ['movie.douban.com/top250']
    start_urls = ['https://movie.douban.com/top250']


    def parse(self, response, *args):
        movie_items = response.xpath('//div/ol[@class="grid_view"]')
        # print("======================",movie_items)

        for item in movie_items:
            movie = ScrapyTestOneItem()

            # src = item.xpath('//li/div/div/a/img/@src').extract_first()
            # print("===================",src)
            # movie["img"] = src

            title = item.xpath('//li/div/div[2]/div/a/span[1]/text()')
            movie["title"] = title.extract()
            print("=========================title=======================",title)
            # movie['rank'] = item.xpath('')
            # # print(movie['rank'])
            # movie['title'] = item.xpath(
            #     'div[@class="info"]/div[@class="hd"]/a/span[@class="title"][1]/text()').extract()
            # movie['poster'] = item.xpath('div[@class="pic"]/a/img/@src').extract()
            # movie['link'] = item.xpath('div[@class="info"]/div[@class="hd"]/a/@href').extract()
            # movie['rating'] = item.xpath(
            #     'div[@class="info"]/div[@class="bd"]/div[@class="star"]/span[@class="rating_num"]/text()').extract()


            yield movie

3.对settings进行配置

放开useragent,配置好对应的值

USER_AGENT = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'

关闭robots协议

# Obey robots.txt rules
ROBOTSTXT_OBEY = False

放开管道限制

ITEM_PIPELINES = {
   "scrapy_test_one.pipelines.ScrapyTestOnePipeline": 300,
}

4.配置items文件

在items.py文件中添加需要的字段

import scrapy


class ScrapyTestOneItem(scrapy.Item):
    # define the fields for your item here like:
    name = scrapy.Field()
    img = scrapy.Field()
    title = scrapy.Field()

5.配置piplines.py文件

from itemadapter import ItemAdapter
from scrapy_test_one.items import ScrapyTestOneItem
import pymongo
host = 'localhost'
port = 27017
db_name = 'DBmovies'



class ScrapyTestOnePipeline:
    def open_spider(self, spider):
    	# 连接数据库
        self.client = pymongo.MongoClient(host=host, port=port)            
        self.db = self.client[db_name]


    def process_item(self, item, spider):
        items = dict(item)
        if isinstance(items, dict):
            print("============================",items)
            self.collection = self.db['movies']
            self.collection.insert_one(items)

            # self.db["movies"].insert_one(items)
        else:
            return "数据格式错误"

6.所有配置完后就可以运行程序进行爬取并存储啦

运行命令:文章来源地址https://www.toymoban.com/news/detail-621911.html

scrapy crawl spider_one

到了这里,关于scrapy框架简单实现豆瓣评分爬取案例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 异步请求库的实际应用案例:爬取豆瓣经典电影

    在日常爬虫过程中,你有没有遇到过需要爬取大量数据的情况,但是传统的同步请求方式让您等得焦头烂额? 这个问题的根源在于传统的同步请求方式。当我们使用同步请求时,程序会一直等待服务器的响应,直到数据返回后才能继续执行下一步操作。这种方式效率低下,尤

    2024年02月09日
    浏览(34)
  • Python爬虫:一个爬取豆瓣电影人像的小案例

    从谷歌浏览器的开发工具进入 选择图片右键点击检查 翻页之后发现网址变化的只有start数值,每次变化值为30 Python代码 把爬取的图片全部放到新建的文件夹中存放

    2024年02月10日
    浏览(85)
  • 爬虫项目实战:利用基于selenium框架的爬虫模板爬取豆瓣电影Top250

    👋 Hi, I’m @货又星 👀 I’m interested in … 🌱 I’m currently learning … 💞 I’m looking to collaborate on … 📫 How to reach me … README 目录(持续更新中) 各种错误处理、爬虫实战及模板、百度智能云人脸识别、计算机视觉深度学习CNN图像识别与分类、PaddlePaddle自然语言处理知识图谱、

    2024年02月04日
    浏览(49)
  • Python爬虫之Scrapy框架系列(23)——分布式爬虫scrapy_redis浅实战【XXTop250部分爬取】

    先用单独一个项目来使用scrapy_redis,讲解一些重要点!

    2024年02月16日
    浏览(56)
  • 利用scrapy框架对etherscan.io中给定Block范围内的交易信息的爬取

    一、 背景介绍 Etherscan 是 2015 年推出的一个以太坊区块探索和分析的分布式智能合同平台, 由于区块链中的交易信息等数据都是公开透明的 , 而 Etherscan 作为探索以太坊的窗口, 用户可以使用其查看自己的交易详情以及以太坊中的任何信息。 我们都有过这样的经历, 打开 taoba

    2024年02月12日
    浏览(50)
  • Scrapy爬取数据,使用Django+PyEcharts实现可视化大屏

    使用Scrapy进行数据爬取,MySQL存储数据,Django写后端服务,PyEcharts制作可视化图表,效果如下。 项目下载地址:Scrapy爬取数据,并使用Django框架+PyEcharts实现可视化大屏 发现每个模块都有详情页,可以通过点击首页各个模块的标签,进行访问。 基于数据可视化的游客行为分析

    2024年02月09日
    浏览(53)
  • 详解爬虫基本知识及入门案列(爬取豆瓣电影《热辣滚烫》的短评 详细讲解代码实现)

    目录 前言什么是爬虫? 爬虫与反爬虫基础知识 一、网页基础知识  二、网络传输协议 HTTP(HyperText Transfer Protocol)和HTTPS(HTTP Secure)请求过程的原理? 三、Session和Cookies Session Cookies Session与Cookies的区别与联系  四、Web服务器Nginx 五、代理IP 1、代理IP的原理 2. 分类 3. 获取途

    2024年04月29日
    浏览(65)
  • 爬取boss直聘简单案例

    以chrome自动化为例 下载浏览器驱动 最新版本:Chrome for Testing availability (googlechromelabs.github.io) 旧版本:ChromeDriver - WebDriver for Chrome - Downloads (chromium.org) 查看chrome的版本 设置-关于chrome 如图116版本, 大版本号要和驱动对应 。 下载如图116稳定版 安装驱动 将下载好的 chromedriver

    2024年02月11日
    浏览(43)
  • selenium + 异步爬取豆瓣阅读

    前几天爬取豆瓣的时候,以为豆瓣是没有反爬的,直到碰到了豆瓣阅读... 这里是官网:https://read.douban.com/ebooks/?dcs=original-featureddcm=normal-nav 需求:爬取里面13个图书类别,每个类别500本,最后保存到excel表中 这是包含书本链接url的负载 ,如果有大佬可以逆向出来,就可以不用

    2024年02月10日
    浏览(37)
  • 爬取豆瓣Top250图书数据

    项目的实现步骤 1.项目结构 2.获取网页数据 3.提取网页中的关键信息 4.保存数据 1.项目结构 2.获取网页数据 对应的网址为https://book.douban.com/top250 3.提取网页中的关键信息 获取传出的解析后的数据,获取对应的图片,书名,作者,价格,评价,简介 将获取的数据存入到字典中

    2024年02月08日
    浏览(45)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包