使用python BeautifulSoup库抓取58手机维修信息


Posted in Python onNovember 21, 2013

直接上代码:

#!/usr/bin/python
# -*- coding: utf-8 -*-
import urllib
import os,datetime,string
import sys
from bs4 import BeautifulSoup
reload(sys)
sys.setdefaultencoding('utf-8')
__BASEURL__ = 'http://bj.58.com/'
__INITURL__ = "http://bj.58.com/shoujiweixiu/"
soup = BeautifulSoup(urllib.urlopen(__INITURL__))
lvlELements = soup.html.body.find('div','selectbarTable').find('tr').find_next_sibling('tr')('a',href=True)
f = open('data1.txt','a')
for element in lvlELements[1:]:
    f.write((element.get_text()+'\n\r' ))
    url = __BASEURL__ + element.get('href')
    print url
    soup = BeautifulSoup(urllib.urlopen(url))
    lv2ELements = soup.html.body.find('table','tblist').find_all('tr')
    for item in lv2ELements:
        addr = item.find('td','t').find('a').get_text()
        phone = item.find('td','tdl').find('b','tele').get_text()
        f.write('地址:'+addr +' 电话:'+ phone + '\r\n\r')
f.close()

直接执行后,存在 data1.txt中就会有商家的地址和电话等信息。
BeautifulSoup  api 的地址为: http://www.crummy.com/software/BeautifulSoup/bs4/doc/

Python 相关文章推荐
Python的垃圾回收机制深入分析
Jul 16 Python
剖析Django中模版标签的解析与参数传递
Jul 21 Python
python动态网页批量爬取
Feb 14 Python
python 打印对象的所有属性值的方法
Sep 11 Python
详解Python文本操作相关模块
Jun 22 Python
Python requests库用法实例详解
Aug 14 Python
python中将两组数据放在一起按照某一固定顺序shuffle的实例
Jul 15 Python
详解解决Python memory error的问题(四种解决方案)
Aug 08 Python
pygame实现俄罗斯方块游戏(基础篇1)
Oct 29 Python
python 解决cv2绘制中文乱码问题
Dec 23 Python
DataFrame.groupby()所见的各种用法详解
Jun 14 Python
Python字符串格式化方式
Apr 07 Python
python BeautifulSoup使用方法详解
Nov 21 #Python
python装饰器使用方法实例
Nov 21 #Python
tornado框架blog模块分析与使用
Nov 21 #Python
python迭代器的使用方法实例
Nov 21 #Python
python生成器的使用方法
Nov 21 #Python
python单链表实现代码实例
Nov 21 #Python
python双向链表实现实例代码
Nov 21 #Python
You might like
在同一窗体中使用PHP来处理多个提交任务
2008/05/08 PHP
PHP 金额数字转换成英文
2010/05/06 PHP
mysqli_set_charset和SET NAMES使用抉择及优劣分析
2013/01/13 PHP
解析CI即CodeIgniter框架在Nginx下的重写规则
2013/06/03 PHP
php+mysqli数据库连接的两种方式
2015/01/28 PHP
学习php设计模式 php实现命令模式(command)
2015/12/08 PHP
Yii中CGridView实现批量删除的方法
2015/12/28 PHP
javascript 限制输入和粘贴(IE,firefox测试通过)
2008/11/14 Javascript
基于jQuery的Spin Button自定义文本框数值自增或自减
2010/07/17 Javascript
Js 弹出框口并返回值的两种常用方法
2010/12/30 Javascript
基于JQuery的一句话搞定手风琴菜单
2012/09/14 Javascript
常见表单重复提交问题整理及解决方法
2013/11/13 Javascript
对Web开发中前端框架与前端类库的一些思考
2015/03/27 Javascript
浅谈javascript语法和定时函数
2015/05/03 Javascript
jQuery简单自定义图片轮播插件及用法示例
2016/11/21 Javascript
深入理解选择框脚本[推荐]
2016/12/13 Javascript
vue 2.0路由之路由嵌套示例详解
2017/05/08 Javascript
Vue2.0 vue-source jsonp 跨域请求
2017/08/04 Javascript
Angular2学习笔记之数据绑定的示例代码
2018/01/03 Javascript
Node.js的Koa实现JWT用户认证方法
2018/05/05 Javascript
WEB前端性能优化的7大手段详解
2020/02/04 Javascript
Node.js API详解之 console模块用法详解
2020/05/12 Javascript
利用Psyco提升Python运行速度
2014/12/24 Python
Python实现的数据结构与算法之基本搜索详解
2015/04/22 Python
Python箱型图绘制与特征值获取过程解析
2019/10/22 Python
python用requests实现http请求代码实例
2019/10/31 Python
pytorch下大型数据集(大型图片)的导入方式
2020/01/08 Python
python统计文章中单词出现次数实例
2020/02/27 Python
python开根号实例讲解
2020/08/30 Python
纯CSS3实现的井字棋游戏
2020/11/25 HTML / CSS
StubHub中国:购买和出售全球活动门票
2020/01/01 全球购物
C#基础面试题
2016/10/17 面试题
客户接待方案
2014/02/26 职场文书
2015年学校安全工作总结
2015/04/22 职场文书
飞屋环游记观后感
2015/06/08 职场文书
倡议书怎么写?
2019/04/11 职场文书