業余玩爬蟲時,由原先的原生寫法 改為 scrapy框架了,使用自帶的selector時,xpath配合正則來抓取回復數和閱讀數的時候,遇到的小問題,mark下。
首先獲取到 我需要的數據塊,(我用scrapy shell調試的)
對應的html文檔是:
關於 這個 空格  被爬成了\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標簽,

以上就是這次 業余抓取的小實錄,好了,去擁抱下世界上最好的語言了 -。-