【发布时间】:2017-12-24 22:48:22
【问题描述】:
我正在编写一个蜘蛛来使用 scrapy 下载子版块首页上的所有图像。为此,我必须找到图像链接以从中下载图像并使用 CSS 或 XPath 选择器。
经检查,提供了链接,但所有链接的 HTML 如下所示:
<div class="expando expando-uninitialized" style="display: none" data-cachedhtml=" <div class="media-preview" id="media-preview-7lp06p" style="max-width: 861px"> <div class="media-preview-content"> <a href="https://i.redd.it/29moua43so501.jpg" class="may-blank"> <img class="preview" src="https://i.redditmedia.com/Q-LKAeFelFa9wAdrnvuwCMyXLrs0ULUKMsJTXSf3y34.jpg?w=861&s=69085fb507bed30f1e4228e83e24b6b2" width="861" height="638"> </a> </div> </div> " data-pin-condition="function() {return this.style.display != 'none';}"><span class="error">loading...</span></div>
据我所知,似乎所有新元素都在<div> 元素的开始标记内初始化。您能否解释一下这里到底发生了什么,以及如何从中提取图像信息?
*抱歉,我不太清楚如何正确格式化 html 代码,但确实没有太多要格式化的内容,因为它就是一个大标签。
【问题讨论】:
-
嗯,HTML 有问题,这是肯定的。但我不确定
data-cachedhtml之后的所有内容是否应该是该属性的值(在这种情况下,应该转义内部的"引号,直到<div> </div>),或者是否缺少类似的东西">就在<div class="media-preview"之前。
标签: python html css xpath scrapy