首次学习scrapy框架来爬取豆瓣Top250,在写完代码执行时,报了AttributeError: ‘Request’ object has no attribute ‘meta’ 还有AttributeError: ‘Request’ object has no attribute ‘dont_filter’ .

执行的代码

# -*- coding: utf-8 -*-
from requests import Request
from scrapy.spiders import Spider
from scrapyspider.items import DoubanMovieItemclass DoubanMovieTop250Spider(Spider):name = "douban250"start_urls = ["https://movie.douban.com/top250"]headers ={'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36'}def start_requests(self):# url = "https://movie.douban.com/top250"url = 'https://movie.douban.com/top250'yield Request(url, headers = self.headers)def parse(self, response):item = DoubanMovieItem()movies = response.xpath('//ol[@class="grid_view"]/li')for movie in movies:item['ranking'] = movie.xpath('.//div[@class="pic"]/em/text()').extract()[0]item['movie_name'] = movie.xpath('.//div[@class="hd"]/a/span[1]/text()').extract()[0]item['score'] = movie.xpath('.//div[@class="star"]/span[@class="rating_num"]/text()').extract()[0]item['score_number'] = movie.xpath('.//div[@class="star"]/span/text()').re(u'(\d+)人评价')[0]yield item

跑完代码cmd出现下面的错误情况:

后来经过一番查找才发现原来是因为自己导包错误的问题…

from requests import Request
应该改为
from scrapy import Request

修改完的代码:

from scrapy import Request
from scrapy.spiders import Spider
from scrapyspider.items import DoubanMovieItemclass DoubanMovieTop250Spider(Spider):name = "douban250"start_urls = ["https://movie.douban.com/top250"]headers ={'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36'}def start_requests(self):# url = "https://movie.douban.com/top250"url = 'https://movie.douban.com/top250'yield Request(url, headers = self.headers)def parse(self, response):item = DoubanMovieItem()movies = response.xpath('//ol[@class="grid_view"]/li')for movie in movies:item['ranking'] = movie.xpath('.//div[@class="pic"]/em/text()').extract()[0]item['movie_name'] = movie.xpath('.//div[@class="hd"]/a/span[1]/text()').extract()[0]item['score'] = movie.xpath('.//div[@class="star"]/span[@class="rating_num"]/text()').extract()[0]item['score_number'] = movie.xpath('.//div[@class="star"]/span/text()').re(u'(\d+)人评价')[0]yield item

执行完的成功,cmd是这样的:

第一次用爬虫框架爬取数据马马虎虎… 记录一下

第一次使用scrapy爬豆瓣top250 报错 AttributeError Requset has no attribute dont_filter 和 meta相关推荐

  1. Cesi运行报错AttributeError: can‘t set attribute

    环境说明: Centos 7 + Python3.6 + Cesi 2.7.1 按照官网说明运行,服务启动正常,在登录界面输入密码后提示密码错误. 打开浏览器开发者工具,查看对应的登录POST请求,提 ...

  2. 近期爬虫学习体会以及爬豆瓣Top250源码实战

    近期爬虫学习体会以及爬豆瓣Top250源码实战 我是在B站https://www.bilibili.com/video/BV12E411A7ZQ?p=25里学习的,至今已经可以手写爬豆瓣Top250代 ...

  3. Scrapy爬虫报错AttributeError: ‘NoneType‘ object has no attribute ‘write‘

    前言 一.报错 AttributeError: 'NoneType' object has no attribute 'write' 二.报错原因 1.piplines文件中的方法不能自定义的呢 开始 ...

  4. python 报错 AttributeError: module ‘time‘ has no attribute ‘clock 解决方法

    源码如下: #引入所需要的时间库 import datetime import time#程序计时器,启动计时器 start = time.clock()#中间是放置需要测试运行时间的程序代码#计算启 ...

  5. 第一:Python+Allure运行报错AttributeError: module ‘allure‘ has no attribute ‘severity_level‘

    1.很多查询结果都是先卸载pytest-allure-adaptor,然后再安装allure-pytest pip3 uninstall pytest-allure-adaptor 2.pip3 in ...

  6. python中引入包的时候报错AttributeError: module ‘sys‘ has no attribute ‘setdefaultencoding‘解决方法?

    python中引入包的时候报错AttributeError: module 'sys' has no attribute 'setdefaultencoding'解决方法? 参考文章: (1)pyth ...

  7. 关于在《python编程从入门到实践》书中练习“外星人大战”报错“AttributeError: ‘AlienInvasion‘ object has no attribute ‘blit‘”

    关于在<python编程从入门到实践>书中练习"外星人大战"报错"AttributeError: 'AlienInvasion' object has no ...

  8. 解决 Pycharm 使用高版本 python(3.9)报错 ‘HTMLParser‘ object has no attribute ‘unescape‘ 之修改pycharm

    由于Python出现3.10版本,此方法修改后仍会导致python版本识别错误,所以不再推荐此方法. 感谢 本篇博文参考了以下内容: 程序员的一天--pycharm 切换 python3.9 报错 ' ...

  9. python操作html的object_关于pycharm 切换 python3.9 报错 ‘HTMLParser‘ object has no attribute ‘unescape‘ 的问题...

    有的bug,莫名其妙就好了- python3.9 报错 "AttributeError: 'HTMLParser' object has no attribute 'unescape'&qu ...

最新文章

  1. ES强制删除docs.deleted 标记的文档 document
  2. 去停用词 java代码_如何在java中去除中文文本的停用词
  3. 比特币钱包(1) 钱包协议总览
  4. 【网络安全】php代码审计-sql注入进阶篇
  5. IPSEC的NAT兼容性
  6. Hash-table(用除法散列法实现)
  7. 线程间通信————同步
  8. Linux C语言 文件操作
  9. 同步锁 php,python线程中同步锁详解
  10. 数据结构函与算法之函数与递归
  11. HTML中name与id的区别
  12. SQL Server商业智能中ODS表和Dim表必须有的字段
  13. POJPower Network (最大流)
  14. 打印机设置手动双面打印方法
  15. 9个免费可商用的字体推荐
  16. 【五线谱】调号 ( 调号标识位置 | 调号标记列表 | A 大调标识原理 | F、C、G 位置标记升号 # | F 大调标识原理 | B 位置标记降号 b )
  17. android手机品牌排行,智能手机品牌排行榜2019前十名
  18. geo数据差异分析_GEO2R:对GEO数据库中的数据进行差异分析
  19. java中BOM是什么_Java-BOM与DOM对象
  20. python turtle画猫_Turtle库画小猫咪

热门文章

  1. Pytorch警告UserWarning: Loky-backed parallel loops cannot be called in a multiprocessing
  2. 计算机内存错误 要降频,电脑出现内存自动降频的问题该怎么办?
  3. Unity 自带函数 Reset() 的使用
  4. 网易2019实习生招聘编程题集合
  5. SRE(运维工程师)成长路上的十本书籍推荐
  6. webstorm下载安装教程
  7. 点线面的意义_论文:点线面在设计中的运用
  8. 《机器学习》课后习题 3.4 选择两个 UCI 数据集,比较 10 折交叉验证法和留 法所估计出的对率回归的错误率.
  9. 搭建我的云端服务器环境
  10. Excel 复制时数据提示图片太大,超过部分将被截去