【发布时间】:2016-01-11 16:19:11
【问题描述】:
我正在将 Scrapy 用于屏幕抓取项目,但遇到了 XPath 问题。
我正在尝试从下图中获取 94,218,但我使用的 XPath 和 CSS 不起作用。
来自这个页面:https://fancy.com/things/280558613/I%27m-Fine-T-Shirt
我用 Scrapy 尝试了多个 XPath 和 CSS,但一切都返回空白。
这里有一些例子:
response.xpath('/html/body/div[1]/div[1]/div[1]/aside/div[1]/div/div/a[2]/text()').extract()
response.xpath('//*[@id="sidebar"]/div[1]/div/div/a[2]/text()').extract()
response.xpath('//*[contains(concat( " ", @class, " " ), concat( " ", "fancyd_list", " " ))])'.extract()
response.xpath(".//*[@id='sidebar']/div[1]/div/div/a[2]/text()")
我尝试过 Firebug、Firepath、Chrome 开发工具和不同的插件,但 XPath 或 CSS 似乎都不起作用。有人可以帮忙吗?
实际页面上的代码是:
<a href="#" class="fancyd_list "/>
6
</a>
一些 XPath 可以工作,但它们不包含文本,所以看起来像这样:<a href="#" class="fancyd_list "/></a>
我也尝试过使用 BeautifulSoup,但它有同样的问题:
print soup.find_all('a',class_='fancyd_list')
[<a class="fancyd_list " href="#"></a>, <a class="fancyd_list " href="#"></a>]
谢谢!
【问题讨论】:
-
这种类型的解析总是让我抓狂。使用
beautiful soup,我敢打赌这将是微不足道的。 -
嘿,谢谢@RobertB 会给出一个破解,远离它,因为我听说性能不是最好的
-
嘿@RobertB 刚刚尝试了 BeautifulSoup 并遇到了同样的问题
标签: python web-scraping beautifulsoup scrapy screen-scraping