我试图通过网站(IMDB)使用“scrapy'”来获取一些数据。包。
如果div类中有image_URL,那么我可以使用电影海报抓取数据。但是,如果没有,我的代码无法正常工作。它跳过了一些与图像相关的数据。
我想像没有image_URL一样修复它,然后忘记图像并只抓取数据。
除了部分之外我该如何解决?
def解析(自我,回应):
def process_item(self, item, spider):
return item
def get_media_requests(self, item, info):
for image_url in item['image_urls']:
yield scrapy.Request(image_url)
这是管道代码↓↓↓↓
class ImdbPipeline(object):
JSONArray
答案 0 :(得分:0)
如果选中,您可以使用extract_first()
:
poster_image_url = response.xpath('//div[@class="poster"]/a/img/@src').extract_first()
if poster_image_url:
item['image_urls'] = poster_image_url.split('_V1')[0] + '_V1_.jgp'
或者,您可以使用scrapy ItemLoader's。