在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Python/ Scrapy爬取JSON文件中的數(shù)據(jù)為空?

Scrapy爬取JSON文件中的數(shù)據(jù)為空?

問題描述

我是第一次接觸Scrapy框架。在Scrapy中爬取JSON文件中的數(shù)據(jù)時,用print檢測發(fā)現(xiàn)為空,不知道是什么回事,請大神指教!

問題出現(xiàn)的環(huán)境背景及自己嘗試過哪些方法

Python的環(huán)境是Python 3.7。嘗試網(wǎng)上說的response.text()無效。

相關代碼

// 請把代碼文本粘貼到下方(請勿用圖片代替代碼)
import scrapy
import json
from scrapy.http import Request
from urllib import parse

from MovieSpider.MovieSpider.items import MoviespiderItem
class MovieSpider(scrapy.Spider):

name = 'MovieSpider'
allowed_domains = ['movie.douban.com']
start_urls = ['https://movie.douban.com/j/search_subjects?type=movie&tag=%E5%86%B7%E9%97%A8%E4%BD%B3%E7%89%87&sort=rank&page_limit=20&page_start=0']

def parse(self, response):
    list = json.loads(response.text())
    print(list)

你期待的結果是什么?實際看到的錯誤信息又是什么?

無報錯,但是輸出為空,求各位大神指教!

回答
編輯回答
司令

你這貼的代碼,是不全的吧?看著你的代碼都行不通啊。
試試這個獲取json數(shù)據(jù)

import requests
url = 'https://movie.douban.com/j/search_subjects?type=movie&tag=%E5%86%B7%E9%97%A8%E4%BD%B3%E7%89%87&sort=rank&page_limit=20&page_start=0'
request = requests.get(url)
json_list = request.json()
2018年6月6日 18:50
編輯回答
只愛你

要學會用scrapy shell https://movie.douban.com/...
做一下測試,我估計十有八九你的HTTP請求頭寫的不對,看看返回的代碼是不是403?

2017年2月5日 15:32
編輯回答
別瞎鬧

試了一下:
DEBUG: Crawled (403) <GET https://movie.douban.com/robo...; (referer: None)
DEBUG: Crawled (403) <GET https://movie.douban.com/j/se...;tag=%E5%86%B7%E9%97%A8%E4%BD%B3%E7%89%87&sort=rank&page_limit=20&page_start=0> (referer: None)

所以需要在setting里面添加User-Agent,以及把ROBOTSTXT_OBEY改為False

2018年8月10日 11:36