scrapy获取页面信息
本例子用命令行调试的方式,演示如何获取页面的特定信息:
0) 示例页面

1) 使用scrapy shell获取目标页面;
scrapy shell http://bj.lianjia.com/ershoufang/pg1tt2/
2)找到提取路径
在页面(本例中使用谷歌浏览器)用F12查看代码,找到要提取目标字段,如第一个房源的地址,在工具下栏有一个css的“路径”:
html body div div ul.sellListContent li.clear div.info.clear div.address div.houseInfo a
使用div后面的css路径,“ul.selListContent li.clear div.info.clear div.address div.houseInfo a”作为response.css函数的输入,如下图,此时已提取到了该页面使用该css的所有数据。
3) 从已选择的数据中进一步提取目标信息
上述得到的结果为一个selector的数组SelectorList,数组的每个元素则对应页面中一个选择到的结果。因此需单独处理每个信息;这里直接使用xpath提取文本信息。提取结果为unicode编码的字符串列表,选择对应的字符串(如本例子中只有一个字符串)。如下:

4) 打印列表信息
至此,目标信息就都找到了,可以使用循环将所有信息打印出来。如下:

scrapy获取页面信息的更多相关文章
- Python+Selenium自动化-获取页面信息
Python+Selenium自动化-获取页面信息 1.获取页面title title:获取当前页面的标题显示的字段 from selenium import webdriver import t ...
- 通过jquery获取页面信息
获取浏览器显示区域(可视区域)的高度 : $(window).height(); 获取浏览器显示区域(可视区域)的宽度 :$(window).width(); 获取页面的文档高度 $(document ...
- java,利用Selenium调用浏览器,动态模拟浏览器事件,动态获取页面信息
1.环境搭建 jdk1.6版本:selenium 2.4版本. jdk1.8版本:selenium3.14版本. (1)selenium的jar包下载: 地址:http://selenium-rele ...
- PHP中通过preg_match_all函数获取页面信息并过滤变更为数组存储模式
// 1. 初始化 $ch = curl_init(); // 2. 设置选项 curl_setopt($ch, CURLOPT_URL, "http://test.com/index.js ...
- 通过js触发onPageView和event事件获取页面信息
注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6814814715022148100/ 承接上一篇文档<js页面触发launch事件编写> pageVi ...
- 通过js触发launch事件获取页面信息
注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6814776265602499080/ 承接上一篇文档<页面Cookie的JS文件编写> 思路 继续之前 ...
- python3.4 伪装成浏览器获取页面信息失败
最近学了下网络爬虫,打算从一个网站上提取点东西,自己练练手,刚开始还从这个网站上取了正确的html,后来百般尝试还是不能取正确的html,希望能得到大家的帮助~ 我刚开始的代码是: 1 url=&qu ...
- WordPress基础:wp_list_pages显示页面信息列表
函数:wp_list_pages($args) 作用:列出某个分类下的分类项目 常见参数说明: 参数 用途 值 sort_column 排序方式 post_title 按标题排序 [默认] m ...
- javascript 常用获取页面宽高信息 API
在页面的构建中 常常会需要获取页面的一些宽高信息,例如实现 惰性加载图片 需要获取页面的可见区域高度 和 已滚动区域的高度,以判断图片所在位置是否可见来决定加载图片的时间, 花点时间整理了一下,获取页 ...
随机推荐
- 8、TypeScript-解构赋值
1.数组的解构赋值 2.对象的解构赋值 注意:在浏览器环境中,windows本身有一个成员name,所以要重新,语法为 属性名:重命名 3.函数的解构赋值
- 【转】SQL数据库日志文件收缩
USE [master] GO ALTER DATABASE MDM_OperationBase SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE ...
- Ubuntu连网的问题
Ubuntu一直提示网络offline,disconnection 首先,进入了无线网络,进入属性,允许其他网络用户通过此计算机的Internet连接: 但是虚拟机仍显示网络未连接:(不知道此步骤是不 ...
- 苹果手机的SB系列(2)为什么不能重命名?
为什么没有重命名? 在手机端不能重命名,在WINOWS端文件是只读的,连他TM的只读属性都无法改,不能重命名,你让我怎么备份? 我怎么知道哪些照片上次备份过了?又重头来过?还是要用苹果的MAC?这种态 ...
- Mac中java实现自动打开软件问题
Runtime.getRuntime().exec("/Applications/NetEaseMusic.app/Contents/MacOS/NetEaseMusic");遗留 ...
- chrome 无头浏览器的使用
在linux服务器上安装chrome : ubuntu: 下载页面https://www.chrome64bit.com/index.php/google-chrome-64-bit-for-linu ...
- linux修改主机名+免密认证+关闭防火墙
在很多软件安装的时候都有这些需求,因此在这里一起讲一下 修改主机名 简单的使用 hostnamectl 命令就好了 hostnamectl set-hostname NAME 免密认证 准备工作,修改 ...
- JAVA----线程初级
一.认识多任务.多进程.单线程.多线程 要认识多线程就要从操作系统的原理说起. 以前古老的DOS操作系统(V 6.22)是单任务的,还没有线程的概念,系统在每次只能做一件事情.比如你在copy东西 ...
- webpack 大概
entry output loader: rules: [ {test:匹配文件格式, use: 使用的loader}, {test:匹配文件格式, use: 使用的loader}, ...//l ...
- 实训任务05 MapReduce获取成绩表的最高分记录
实训任务05 MapReduce获取成绩表的最高分记录 实训1:统计用户纺问次数 任务描述: 统计用户在2016年度每个自然日的总访问次数.原始数据文件中提供了用户名称与访问日期.这个任务就是要获取 ...
