我正在尝试使用Python中的Scrapy库从至尊社区网站上获取标题、价格和向上/向下投票的统计数据。
import scrapy
class SupremeSpider(scrapy.Spider):
name = "Supreme"
start_urls = [
'https://www.supremecommunity.com/season/spring-summer2019/droplist/2019-02-25/'
]
def parse(self, response):
for data in response.css('div.card-details'):
yield {
'title': data.xpath("//h2/text()").getall(),
'price': data.css('span.label-price::text').get()
#'upvotes': data.xpath("//p/text()").getall()
#'downvotes': quote.css('div.tags a.tag::text').getall(),
}
当我在CMD中运行scrapy crawl Supreme时:
结果如下所示:
“云L/S上衣”,“赛车标志工作衫”,“真丝迷彩衬衫”,“自由金色吊坠”,“血色陶瓷盒”,“管道轨迹夹克”,“拼接马海毛羊毛衫”,“至尊®/Hanes®豹无标记T恤(2包)”,“设置在标志头盔运动衫”,“至尊®/喷火®经典车轮(4套)”,“中指到世界T形”,“S/S袖珍Tee”,“至尊®/独立®卡车”,“‘GORE TEX S-Logo 6-Panel”,“Tag Logo毛衣”,“Tech L/S Tee”,“剪裁头盔运动衫”,“Patchwork Cargo Pant”,“石头洗过的纤细牛仔裤”,“Text Stripe Era®”,“毛绒绒拖车夹克”,“D-Ring Trench Coat”,“Multi Stripe /S Top”,“Piping Track Pant”,“Work Pant”,“Tag Logo Beanie”,“Corduroy Compact Logo 6-Panel”,“牛津衬衫”,‘套装标志运动裤’,‘石洗黑色纤细牛仔裤’,‘玫瑰水牛格子衬衫’,‘补丁铃帽’,‘佩斯利条纹L/S上衣’,‘模糊短桩’,‘扎染Ripstop露营帽’,‘胶带接缝牛仔裤’,‘洗涤普通牛仔裤’,‘刚性纤细牛仔裤’,‘世界5-面板’,‘签名脚本标志阵营帽’,‘他妈的6-面板’,‘价格’:'\n
'}
{标题:喷绘花式滑板,价格:$48/46 46,上票: 14218,下票: 1034}
发布于 2019-02-28 04:33:03
在使用嵌套选择器时,您需要使用正确的相对XPath,否则将从整个响应中提取:
'title': data.xpath(".//h2/text()").get(),
请参阅文档:https://docs.scrapy.org/en/latest/topics/selectors.html#working-with-relative-xpaths
https://stackoverflow.com/questions/54913900
复制相似问题