Python + Scrapy + JSON: у объекта 'NoneType' нет атрибута 'body_as_unicode' - PullRequest
0 голосов
/ 12 октября 2018

Я пытаюсь очистить все URL с этой JSON-страницы с помощью Scrapy в Python:

view-source: https://highape.com/bangalore/all-events

Но всякий раз, когда я пишу этот код на моей оболочке Scrapy:

import json #it works

jsonresponse = json.loads(response.body_as_unicode())

Я получаю следующую ошибку:

Traceback (most recent call last):
  File "<console>", line 1, in <module>
AttributeError: 'NoneType' object has no attribute 'body_as_unicode'

Это часть этого большого файла JSON:

{ 
        "@context":"http://schema.org",
        "@type":"Event",
        "name":"Combo Offers at Fill n Chill",
        "image":"https://highape.com/images/https://res.cloudinary.com/https-highape-com/image/upload/v1536231551/yyfdntyzgsuuctlrqw94.jpg",
        "url":"https://highape.com/bangalore/events/combo-offers-at-fill-n-chill-QRkdny0WXv",
        "startDate":"2018-09-07 12:00:00",
        "endDate":"2018-10-31 00:00:00",
        "doorTime":"2018-09-07 12:00:00",
        "description" : "Good food and fine drink are among the finer things life has to offer Fill n Chill has recognized this and therefore brings to you several offers packaged with scrumptious food and plenty of alcohol to wash it down Take a look at this and decide how you want to splurge and indulge1 Individual PassINR 349 2 Mugs of Beer 330ml 2 Domestic Drinks 30ml 1 StarterChoices belowBeer Draught Beer KingfisherDomestic Drinks Mixer Inclusions Served with Water SodaRum Captain Morgan Old MonkVodka Romanov Magi",
        "location":
        {"@type":"Place",

        "name":"Fill &#039;n Chill",

        "address":"107/2, 80 Feet Road, Srinivagilu Main Rd, Koramangala 4th Block, Koramangala, Bengaluru, Karnataka 560034, India"  
        },


                "offers":
        [
                                            { 
                    "@type":"Offer",
                    "name":"Individual Pass - 2 Drinks+1 Food",
                    "price":"349",
                    "priceCurrency":"INR",
                    "validFrom":"2018-09-06 12:52:28",
                    "availability":"http://schema.org/InStock",
                    "url":"https://highape.com/bangalore/events/combo-offers-at-fill-n-chill-QRkdny0WXv"
                }, 
                                                            { 
                    "@type":"Offer",
                    "name":"Pass for 2 people - 4 Drinks +1 Food",
                    "price":"499",
                    "priceCurrency":"INR",
                    "validFrom":"2018-09-06 12:52:28",
                    "availability":"http://schema.org/InStock",
                    "url":"https://highape.com/bangalore/events/combo-offers-at-fill-n-chill-QRkdny0WXv"
                }, 
                                                            { 
                    "@type":"Offer",
                    "name":"Pass for 2 people - 4 Drinks + 2 Food",
                    "price":"599",
                    "priceCurrency":"INR",
                    "validFrom":"2018-09-06 12:52:28",
                    "availability":"http://schema.org/InStock",
                    "url":"https://highape.com/bangalore/events/combo-offers-at-fill-n-chill-QRkdny0WXv"
                }, 
                                {
                    "@type":"Offer",
                    "name":"Entry",
                    "price":"0",
                    "priceCurrency":"INR",
                    "validFrom":"2018-09-06 12:52:28",
                    "availability":"http://schema.org/InStock",
                    "url":"https://highape.com"
                }     
                                    ]
      ,
                    "performer":
        [
          { "@type":"Person",
            "name": ""
          }    
        ] 
    }   

Мне нужно очистить URL-адреса, как это(было бы весьма полезно, если бы вы предложили решение без привлечения Beautiful Soup):

 "url":"https://highape.com/bangalore/events/combo-offers-at-fill-n-chill-QRkdny0WXv"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...