-
我正在尝试使用" scrapy"软件包从网站(IMDB(中获取一些数据。
-
如果DIV类中有一个Image_url,那么我可以使用电影海报爬网。但是,如果没有,我的代码无法正常工作。它跳过了一些与图像的数据关联。
-
我想像没有image_url一样修复它,然后忘记图像和爬网数据。
-
我该如何修复部分?
def parse(自我,响应(:
//some other lines
try:
poster_image_url =
response.xpath('//div[@class="poster"]/a/img/@src').extract()[0]
poster_image_url = [ poster_image_url.split("_V1_")[0] + "_V1_.jpg" ]
except:
poster_image_url = None
item['image_urls'] = poster_image_url
这是管道代码↓↓跟证
类Imdbpipeline(对象(:
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)
您可以使用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 Item Loader。