Python 错误响应'';非类型';对象不可编辑';而刮网站使用刮刮

Python 错误响应'';非类型';对象不可编辑';而刮网站使用刮刮,python,web-scraping,scrapy,Python,Web Scraping,Scrapy,我对使用scrapy进行网页抓取还不熟悉。我试图刮一个网站(请参考代码中的URL)。 从网站上,我试图删除“通知%Month%%Year%”表下的信息,并将数据传输到json文件 我在执行命令时收到一个错误,因为“'NoneType'对象不可编辑”: scrapy爬行引号-o quotes.json 代码: 问题: 在网站中,所有的提示数据都存储在同名的表下table@class=“MsoTableGrid” 选项是我试图提取数据 选择1 response.xpath('//table[@cla

我对使用scrapy进行网页抓取还不熟悉。我试图刮一个网站(请参考代码中的URL)。 从网站上,我试图删除“通知%Month%%Year%”表下的信息,并将数据传输到json文件

我在执行命令时收到一个错误,因为“'NoneType'对象不可编辑”:

scrapy爬行引号-o quotes.json

代码:

问题: 在网站中,所有的提示数据都存储在同名的表下table@class=“MsoTableGrid”

选项是我试图提取数据

选择1

response.xpath('//table[@class=“MsoTableGrid”]').extract()

返回所有数据

选择2

response.xpath('//table[@class=“MsoTableGrid”]/tr[i]/td/p/b').extract()

返回垂直列中的几个

选择3

response.xpath('//table[@class=“MsoTableGrid”]/tr/td/p/b//text()).extract()[1]

返回整个数据中的第一个元素

问题:

  • 使用Option3时,是否可以知道返回的元素是否为字符串
  • 在使用Option3时,是否可以知道返回的数据的整个范围,以便我们可以遍历每个返回的元素
  • 如何修复错误“非类型”对象不可编辑

要添加到
启动请求中
应该是
scrapy.Request
对象的生成器。您的
start\u请求
不会产生任何结果:

def start_requests(self):
    urls = [
       'http://www.narakkalkuries.com/intimation.html#i'
    ]
要解决此问题,请在
start\u请求
方法中逐个生成URL:

def start_requests(self):
    urls = [
       'http://www.narakkalkuries.com/intimation.html#i'
    ]
    for url in urls:
        yield Requst(url)
或者只需设置
start\u URL
类属性,即可使用从
scrapy.Spider
继承的默认
start\u请求
方法:

import scrapy
class QuotesSpider(scrapy.Spider):
    name = "quotes"
    start_urls = [
        'http://www.narakkalkuries.com/intimation.html#i'
    ]

要添加到
start\u请求
中,需要生成
scrapy.Request
对象。您的
start\u请求
不会产生任何结果:

def start_requests(self):
    urls = [
       'http://www.narakkalkuries.com/intimation.html#i'
    ]
要解决此问题,请在
start\u请求
方法中逐个生成URL:

def start_requests(self):
    urls = [
       'http://www.narakkalkuries.com/intimation.html#i'
    ]
    for url in urls:
        yield Requst(url)
或者只需设置
start\u URL
类属性,即可使用从
scrapy.Spider
继承的默认
start\u请求
方法:

import scrapy
class QuotesSpider(scrapy.Spider):
    name = "quotes"
    start_urls = [
        'http://www.narakkalkuries.com/intimation.html#i'
    ]