数据采集简单示例:采集爱帮网电话号码

爱帮网单个网址:http://www.aibang.com/detail/17881112-420243957

截图:

QQ截图20120609171133

本文采集该页面的标题和2个电话号码,具体的python代码:

# -*- coding: UTF-8 -*-
'''
Created on 2012-6-9
@author: crazyant
'''

#导入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

 

运行结果:

标题:
坊上人清真饭庄(高新店)
电话号:
029-88222668
029-88226458

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

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

相关推荐

6 thoughts on “数据采集简单示例:采集爱帮网电话号码”

  1. 一直想学 python 但一直没找到简单有趣的代码
    看到这篇文章写的真好就很想试试
    结果运行出现错误
    ImportError: No module named Webscraping
    本来想向楼主求助的
    为了证明我不是伸手党
    详细描述我的经历
    一不小心 … 成了血泪史
    ——————————————————
    ImportError: No module named Webscraping
    然后我去安装这个模块
    找到 http://code.google.com/p/webscraping/
    跳到 http://docs.webscraping.com/
    跳到 http://docs.webscraping.com/introduction.html#install
    下载后 在 CMD 下找到目录 然后 python setup.py install
    webscraping 安装失败
    运行程序继续提示没有这个模块
    然后
    回到 http://docs.webscraping.com/introduction.html#install
    看到 " Install with pypi: pip install webscraping "
    搜索到 http://darwinclub.info/wp/?p=508
    执行 $ curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py
    失败 语法错误 , 一头雾水 , 继续
    根据文章提示
    跳到 https://pypi.python.org/pypi/pip#downloads
    下载 , 解压 , 安装pip
    pip安装失败
    根据页顶提示
    跳到 http://www.pip-installer.org/en/latest/installing.html
    安装 setuptools
    安装 setuptools 成功
    安装 pip 成功
    然后我有点忘记原来要干什么了
    想起来要安装 webscraping 还得用 pip 安装
    回到 http://docs.webscraping.com/introduction.html#install
    根据提示
    打开 CMD
    输入 pip install webscraping
    失败 没有这个命令
    ….. 很受挫
    打开网易云课堂 , 听了前面两节课 , 无果
    搜索 python pip 安装 使用
    找到 http://my.oschina.net/django4church/blog/110575
    原来是要设置变量 , OK
    CMD pipe
    失败 还是没有这个命令
    注销
    再 CMD pipe
    有这个命令了
    pip search Webscraping
    能找到这个模块
    pip install webscraping
    提示:
    Requirement already satisfied (use –upgrade to upgrade): webscraping in d:pyth
    onlibsite-packages
    什么 ? 这是在说我已经安装过了?
    然后…我已经快哭了
    pip uninstall webscraping
    pip install webscraping
    再执行程序
    尼玛啊 , 还是
    ImportError: No module named Webscraping
    最后 , 自以为无聊的把 Webscraping 改成 webscraping

    竟然就这么运行成功了..

    博主你坑爹啊….
    不过总算了解到用 pip 装模块还是很方便的!! 谢谢!
    希望能多出点简单有趣循序渐进的文章!!

    回复
    • 请允许我表达最最最真切的歉意。。。。没想到我无意中卖弄一下英文水平,把单词的首字母改成大写竟然造成了这么大的后果,实在不好意思,已修正。。。还有,我只能说你好有毅力,要是我早就放弃了~~~

      回复

Leave a Comment