Scrapy使用xpath抓取ul类是行不通的
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scrapy使用xpath抓取ul类是行不通的相关的知识,希望对你有一定的参考价值。
我抓住这个网站https://movies.yahoo.com.tw/movieinfo_main.html/id=7819
我在我的终端上使用scarpy shell 'https://movies.yahoo.com.tw/movieinfo_main.html/id=7819'
当我想得到li
标签我输入命令response.xpath('//ul[@class="trailer_list imglist slick-initialized slick-slider"]/li')
但得到一个空列表[]
我尝试输入这个命令response.xpath('//div[@class="l_box_inner"]/ul/li/a/@href').extract()
这是我得到的:
In [14]: response.xpath('//div[@class="l_box_inner"]/ul/li/a/@href').extract()
Out[14]:
[u'https://movies.yahoo.com.tw/name_main/1000',
u'https://movies.yahoo.com.tw/name_main/2595',
u'https://movies.yahoo.com.tw/video/%E9%81%8A%E6%88%B2%E5%A4%9C%E6%AE%BA%E5%BF%85%E6%AD%BB-%E4%B8%AD%E6%96%87%E9%A0%90%E5%91%8A-095130014.html?movie_id=7819',
u'https://movies.yahoo.com.tw/movieinfo_photos.html/id=7819?movie_photo_id=189047',
u'https://movies.yahoo.com.tw/movieinfo_photos.html/id=7819?movie_photo_id=189050',
u'https://movies.yahoo.com.tw/movieinfo_photos.html/id=7819?movie_photo_id=189053',
u'https://movies.yahoo.com.tw/movieinfo_photos.html/id=7819?movie_photo_id=189056',
u'https://movies.yahoo.com.tw/movieinfo_photos.html/id=7819?movie_photo_id=189059',
u'https://movies.yahoo.com.tw/movieinfo_photos.html/id=7819?movie_photo_id=189062',
u'https://movies.yahoo.com.tw/post/169756772517/u5091u68eeu8c9du7279u66fcu6372u9032u5931u63a7u904au6232u591c-u5168u662fu4ed6u60f9u7684u798d']
但我只想得到六个href他们的身份是189047'189050'189053'189056'189059'189062
如果我只想获得li
六个href,那么正确的xpath命令是什么?
任何帮助,将不胜感激。提前致谢。
答案
看起来目标ul
在scrapy响应中与浏览器呈现的源相比具有更少的类:
response.xpath('//ul[@class="trailer_list imglist"]/li/a/@href').extract()
输出:
[u'https://movies.yahoo.com.tw/movieinfo_photos.html/id=7819?movie_photo_id=189047',
u'https://movies.yahoo.com.tw/movieinfo_photos.html/id=7819?movie_photo_id=189050',
u'https://movies.yahoo.com.tw/movieinfo_photos.html/id=7819?movie_photo_id=189053',
u'https://movies.yahoo.com.tw/movieinfo_photos.html/id=7819?movie_photo_id=189056',
u'https://movies.yahoo.com.tw/movieinfo_photos.html/id=7819?movie_photo_id=189059',
u'https://movies.yahoo.com.tw/movieinfo_photos.html/id=7819?movie_photo_id=189062']
以上是关于Scrapy使用xpath抓取ul类是行不通的的主要内容,如果未能解决你的问题,请参考以下文章
Python爬虫编程思想(149):使用Scrapy抓取数据,并通过XPath指定解析规则