业余玩爬虫时,由原先的原生写法 改为 scrapy框架了,使用自带的selector时,xpath配合正则来抓取回复数和阅读数的时候,遇到的小问题,mark下。

首先获取到 我需要的数据块,(我用scrapy shell调试的)

对应的html文档是:

关于 这个 空格&nbsp 被爬成了\xa0的问题,我找了一些资料,这里说下原因:

\xa0 叫做不间断空白符,英文描述non-breaking space,阻止在此处自动换行和阻止多个空格被压缩成一个,属于 latin1 (ISO/IEC_8859-1)中的扩展字符集字符,我之所以用下列方法去不掉,是因为我们平常用的更多的 空格是\x20,

如下方式取匹配我想要的阅读数和回复数都失败了

这里面就是因为 空格字符的影响,所以后来用针对空格的办法,/s 就没问题了

收集了网上的对付这种问题一些办法:如下

string.replace(u'\xa0', u' ') ;  strip()等,

附:unicode标点对应表,http://www.unicode.org/charts/PDF/U3000.pdf

2.因为有些加粗标题被包含<b></b>标签下,如下:

他在 多了一级的标签,用text()就取不到了,

但是xpath('string(.)')这个可以取出所有的文字元素,不包括html标签,

以上就是这次 业余抓取的小实录,好了,去拥抱下世界上最好的语言了   -。-

 
 

python 正则空格\xa0实录 与xpath取 div 里面的含多个标签的所有文字的更多相关文章

  1. python+正则+多进程爬取糗事百科图片

    话不多说,直接上代码: # 需要的库 import requests import re import os from multiprocessing import Pool # 请求头 header ...

  2. Python正则式的基本用法

    Python正则式的基本用法 1.1基本规则 1.2重复 1.2.1最小匹配与精确匹配 1.3前向界定与后向界定 1.4组的基本知识 2.re模块的基本函数 2.1使用compile加速 2.2 ma ...

  3. python 正则,常用正则表达式大全

    Nginx访问日志匹配 re.compile #re.compile 规则解释,改规则必须从前面开始匹配一个一个写到后面,前面一个修改后面全部错误.特殊标准结束为符号为空或者双引号:  改符号开始 从 ...

  4. python爬虫入门(三)XPATH和BeautifulSoup4

    XML和XPATH 用正则处理HTML文档很麻烦,我们可以先将 HTML文件 转换成 XML文档,然后用 XPath 查找 HTML 节点或元素. XML 指可扩展标记语言(EXtensible Ma ...

  5. 小白学 Python 爬虫(19):Xpath 基操

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  6. 小白学 Python 爬虫(20):Xpath 进阶

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  7. 小白学 Python 爬虫(25):爬取股票信息

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  8. 使用python和tableau对数据进行抓取及可视化

    使用python和tableau对数据进行抓取及可视化 本篇文章介绍使用python抓取贷款及理财平台的数据,并将数据拼接和汇总.最终通过tableau进行可视化.与之前的python爬虫文章 不同之 ...

  9. python爬虫构建代理ip池抓取数据库的示例代码

    爬虫的小伙伴,肯定经常遇到ip被封的情况,而现在网络上的代理ip免费的已经很难找了,那么现在就用python的requests库从爬取代理ip,创建一个ip代理池,以备使用. 本代码包括ip的爬取,检 ...

随机推荐

  1. 关于欧几里得算法(gcd)的证明

    求a,b的最大公约数我们经常用欧几里得算法解决,也称辗转相除法, 代码很简短, int gcd(int a,int b){ return (b==0)?a:gcd(b,a%b); } 但其中的道理却很 ...

  2. SGU 223 Little Kings(状压DP)

    Description 用字符矩阵来表示一个8x8的棋盘,'.'表示是空格,'P'表示人质,'K'表示骑士.每一步,骑士可以移动到他周围的8个方格中的任意一格.如果你移动到的格子中有人质(即'P'), ...

  3. ansible服务部署与使用

    第1章 ssh+key实现基于密钥连接(ansible使用前提) 说明:    ansible其功能实现基于SSH远程连接服务    使用ansible需要首先实现ssh密钥连接 1.1 部署ssh ...

  4. Mysql存在则更新,没有则新增

    insert ignore 当插入数据时,如出现错误时,如重复数据,将不返回错误,只以警告形式返回. insert ignore into table(col1,col2) values ('val1 ...

  5. Python元祖

    本篇主要介绍另一种有序列表叫元祖:tuple.更多内容请参考:python学习指南 元祖是什么 tuple和list非常类似,但是tuple一旦初始化就不能修改,比如同样是列出同学的名字 >&g ...

  6. Kotlin——最详解的类(class)的使用

    在任何一门面向对象编程的语言里,类(class)是非常基础.但也是非常重要的一项组成,通俗的说就是万般皆对象,而所说的对象就是我们生成的类.Kotlin也是如此,下面详细为大家介绍Kotlin中的类的 ...

  7. 仿微信抢红包(js 转)

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. iscroll 下拉刷新,上拉加载

    新手,直接贴代码了 <!DOCTYPE html><html class=""><head lang="en"><me ...

  9. 利用PowerShell 得到 进程总共占用的内存

    $task = tasklist /nh /fo csv $total = 0 for($i=0; $i -lt $task.count; $i++) { $one = $task[ $i ].Spl ...

  10. 隐藏input的光标

    https://segmentfault.com/q/1010000000684888 https://wap.didialift.com/beatles/campaign/driver/activi ...