利用python的webscraping库采集抓取爱帮网电话号码

利用pythonwebscraping模块抓取爱帮网电话号码,本文采集该页面的标题和2个电话号码,

11.png - 大小: 103.61 KB - 尺寸: 744 x 285 - 点击打开新窗口浏览全图

具体的python代码:


# -*- coding: UTF-8 -*-
'''
Created on 2014-5-9
'''

#导入urllib2库,用于获取网页
import urllib2

#使用开源库Webscraping库的xpath模块
from Webscraping import xpath,common

#首先,发送请求到爱帮网的一个页面,该页面含有地址
req = urllib2.Request('http://www.aibang.com/detail/17881112-420243957')

#获得响应
reponse = urllib2.urlopen(req)

#将响应的内容存入html变量
html = reponse.read()

#以下抓取页面的标题
title = xpath.search(html, '//div[@class="ppc_title"]/h1[1]')

print '标题:'
#这里要输出中文,因此采用common的to_unicode输出
print common.to_unicode(title[0], 'utf-8')

#使用xpath得到电话号码的节点
tel = xpath.search(html, '//dl[@class="detail_list"]/dd[@class="fb"]')

#使用正则拆分数字
import re
m = re.search(r'([\d-]+)\s([\d-]+)', tel[0])
#如果匹配,输出两个单个电话号码
print '电话号:'
if m is not None:
    for t in m.groups():
        print t

其中主要用到了以下模块:

  • xpath:用于使用路径的方法找到节点
  • re:正则表达式模块,用于拆分电话号码(其实字符串函数也可以)
  • urllib2:用于请求指定URL的页面内容,存于字符串然后分析
  • webscraping 库的common模块:用于将获取到得中文文本转成unicode编码,这样才能够输出
webscraping 库相关文档:http://docs.webscraping.com/


关键词: 采集 , webscraping , python

上一篇: SSDB替代 Redis存储数十亿级别列表数据的 NoSQL 数据库
下一篇: PHP日历生成类,简单的用PHP生成日历的方法

目前还没有人评论,您发表点看法?
发表评论

评论内容 (必填):