scrapy 按顺序抓取text内容

需求:获得如下li.clearfix 下的所有text,并且按顺序输出

1. x.css(‘div.reply-doc h4 a::text‘).extract();

2.  x.css(‘div.reply-doc h4::text‘).extract();

3.  x.css(‘div.reply-doc span.pubtime::text‘).extract();

4.  x.css(‘div.reply-quote span.short::text‘).extract();

5. x.css(‘div.reply-quote span.all::text‘).extract(); ……

但是这样,只会返回5个list;

应该:

x.css(‘div.reply-doc h4 a::text‘,‘div.reply-doc h4::text‘,‘div.reply-doc span.pubtime::text‘,......).extract()

时间: 2024-10-11 22:41:04

scrapy 按顺序抓取text内容的相关文章

python爬虫----(6. scrapy框架,抓取亚马逊数据)

利用xpath()分析抓取数据还是比较简单的,只是网址的跳转和递归等比较麻烦.耽误了好久,还是豆瓣好呀,URL那么的规范.唉,亚马逊URL乱七八糟的.... 可能对url理解还不够. amazon ├── amazon │   ├── __init__.py │   ├── __init__.pyc │   ├── items.py │   ├── items.pyc │   ├── msic │   │   ├── __init__.py │   │   └── pad_urls.py │  

PHP如何抓取https内容?记录一下。

PHP里做一般的获取内容时,用自带的file_get_contents()函数基本就足够了.当然,这个函数只能抓一些简单的数据,如果是遇到需要登录的页面,就不行了,而且效率及稳定性也不是很强.所以要是有特殊需求的话,还是用curl吧.不仅仅速度快,而且非常稳定,基本上用curl抓取失败的几率很小. 而且今天在抓优酷视频API接口中的信息时,发现了一个问题,由于优酷API的url请求是https安全协议,用file_get_contents()函数竟然无法获取到数据,然后用curl写了个代替函数,

使用Curl进行抓取远程内容时url中文编码问题 转载

PHP中对于URL进行编码,可以使用 urlencode() 或者 rawurlencode(),二者的区别是前者把空格编码为 '+',而后者把空格编码为 '%20',不过应该注意的是,在编码时应该只对部分URL编码,否则URL中的冒号和反斜杠也会被转义.下面是详细解释: string urlencode( string str) 返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+). 例子 1 :urlencode函数与

scrapy实战4抓取ajax动态页面(以糗事百科APP为例子):

一般来说爬虫类框架抓取Ajax动态页面都是通过一些第三方的webkit库去手动执行html页面中的js代码, 最后将生产的html代码交给spider分析.本篇文章则是通过利用fiddler抓包获取json数据分析Ajax页面的具体请求内容,找到获取数据的接口url,直接调用该接口获取数据,省去了引入python-webkit库的麻烦,而且由于一般ajax请求的数据都是结构化数据,这样更省去了我们利用xpath解析html的痛苦. 手机打开糗事百科APP ,利用fiddler抓包获取json数据

PHP cURL库函数抓取页面内容

目录 1 为什么要用cURL? 2 启用cURL 3 基本结构 4 检查错误 5 获取信息 6 基于浏览器的重定向 7 用POST方法发送数据 8 文件上传 9 cURL批处理(multi cURL) 9.1 WordPress 链接检查器 10 另一些有用的cURL 选项 10.1 HTTP 认证 10.2 FTP 上传 10.3 代理/FQ请求 10.4 回调函数 11 小结 cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议和选项,如HTTP.FTP.TELNET等,能

如何在PHP里抓取HTTPS内容

最近在研究Hacker News API时遇到一个HTTPS问题.因为所有的Hacker News API都是通过加密的HTTPS协议访问的,跟普通的HTTP协议不同,当使用PHP里的函数file_get_contents() 来获取API里提供的数据时,出现错误,使用的代码是这样的: <?php $data = file_get_contents("https://hacker-news.firebaseio.com/v0/topstories.json?print=pretty&quo

History API使搜索引擎抓取AJAX内容

我一直以为没有办法做到,直到前两天看到了Discourse创始人之一的Robin Ward的解决方法,不禁拍案叫绝. Discourse是一个论坛程序,严重依赖Ajax,但是又必须让Google收录内容.它的解决方法就是放弃井号结构,采用 History API. 所谓 History API,指的是不刷新页面的情况下,改变浏览器地址栏显示的URL(准确说,是改变网页的当前状态).这里有一个例子,你点击上方的按钮,开始播放音乐.然后,再点击下面的链接,看看发生了什么事? 地址栏的URL变了,但是

记录一个简单的HttpClient抓取页面内容

现如今的网络时代,HTTP协议如此重要,随着java的发展,也越来越多的人采用java直接通过HTTP协议访问网络资源,虽然java.net提供了基本的访问HTTP协议的基本功能,但是对于大部分应用程序来说,仍旧还有许多功能不能够灵活使用:HttpClient是Apache Jakarta Common 下的子项目,一个提供访问HTTP协议的java工具包,提供了更多.更快捷.丰富的方法,HttpClient主要常用的功能有:实现了所有 HTTP 的方法(GET,POST,PUT,HEAD,DE

nodejs抓取页面内容,并分析有无某些内容的js文件

nodejs获取网页内容绑定data事件,获取到的数据会分几次相应,如果想全局内容匹配,需要等待请求结束,在end结束事件里把累积起来的全局数据进行操作! 举个例子,比如要在页面中找有没有www.baidu.com,不多说了,直接放代码: //引入模块 var http = require("http"), fs = require('fs'), url = require('url'); //写入文件,把结果写入不同的文件 var writeRes = function(p, r)