python-在Scrapy中使用nth-child
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-在Scrapy中使用nth-child,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1338字,纯文字阅读大概需要2分钟。
内容图文
![python-在Scrapy中使用nth-child](/upload/InfoBanner/zyjiaocheng/684/02a67b7c2b2642409db2744c98fdcadd.jpg)
我正在尝试使用Python工具Scrapy提取一些html.
我的选择器如下:
#navigation > nav > div.js-accordion-menu-wrapper > ul li:nth-child(n+5):nth-child(-n+10) > a::attr(href)
由于某种原因,这根本不起作用.具体来说,似乎’nth-child(-n x)只是行不通.就像Scrapy可能不使用它或不允许它.
有人可以确认吗?
解决方法:
使用cssselect 1.0.0的Scrapy 1.2.1似乎按预期工作.
这是一个示例scrapy shell会话:
In [1]: selector = scrapy.Selector(text="""<ul>
...: <li>1</li>
...: <li>2</li>
...: <li>3</li>
...: <li>4</li>
...: <li>5</li>
...: <li>6</li>
...: <li>7</li>
...: <li>8</li>
...: <li>9</li>
...: <li>10</li>
...: <li>11</li>
...: <li>12</li>
...: </ul>""")
In [2]: selector.css('ul li:nth-child(n+5)').extract()
Out[2]:
['<li>5</li>',
'<li>6</li>',
'<li>7</li>',
'<li>8</li>',
'<li>9</li>',
'<li>10</li>',
'<li>11</li>',
'<li>12</li>']
In [3]: selector.css('ul li:nth-child(n+5):nth-child(-n+10)').extract()
Out[3]:
['<li>5</li>',
'<li>6</li>',
'<li>7</li>',
'<li>8</li>',
'<li>9</li>',
'<li>10</li>']
我正在使用:
$scrapy version -v
Scrapy : 1.2.1
lxml : 3.6.4.0
libxml2 : 2.9.4
Twisted : 16.5.0
Python : 3.5.0+ (default, Oct 11 2015, 09:05:38) - [GCC 5.2.1 20151010]
pyOpenSSL : 16.2.0 (OpenSSL 1.0.2g 1 Mar 2016)
Platform : Linux-4.4.0-47-generic-x86_64-with-Ubuntu-16.04-xenial
$pip freeze | grep cssselect
cssselect==1.0.0
内容总结
以上是互联网集市为您收集整理的python-在Scrapy中使用nth-child全部内容,希望文章能够帮你解决python-在Scrapy中使用nth-child所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。