使用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 del()函数用法
Mar 24 Python
Python中的True,False条件判断实例分析
Jan 12 Python
Python字典操作详细介绍及字典内建方法分享
Jan 04 Python
浅谈Series和DataFrame中的sort_index方法
Jun 07 Python
Python对象与引用的介绍
Jan 24 Python
理想高通滤波实现Python opencv示例
Jan 30 Python
python基于FTP实现文件传输相关功能代码实例
Sep 28 Python
解决django-xadmin列表页filter关联对象搜索问题
Nov 15 Python
python3.7通过thrift操作hbase的示例代码
Jan 14 Python
如何理解python面向对象编程
Jun 01 Python
Django web自定义通用权限控制实现方法
Nov 24 Python
解决python 输出到csv 出现多空行的情况
Mar 24 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
ubuntu下编译安装xcache for php5.3 的具体操作步骤
2013/06/18 PHP
10条php编程小技巧
2015/07/07 PHP
PHP fprintf()函数用法讲解
2019/02/16 PHP
php服务器的系统详解
2019/10/12 PHP
判断ie的两种简单方法
2013/08/12 Javascript
js中opener与parent的区别详细解析
2014/01/14 Javascript
两种方法基于jQuery实现IE浏览器兼容placeholder效果
2014/10/14 Javascript
javascript抽象工厂模式详细说明
2014/12/16 Javascript
jQuery实现鼠标点击弹出渐变层的方法
2015/07/09 Javascript
分享有关jQuery中animate、slide、fade等动画的连续触发、滞后反复执行的bug
2016/01/10 Javascript
node.js+express制作网页计算器
2016/01/17 Javascript
JS加载器如何动态加载外部js文件
2016/05/26 Javascript
14 个折磨人的 JavaScript 面试题
2016/08/08 Javascript
利用Angularjs和原生JS分别实现动态效果的输入框
2016/09/01 Javascript
原生JS发送异步数据请求
2017/06/08 Javascript
详解webpack之scss和postcss-loader的配置
2018/01/09 Javascript
关于layui导航栏不展示下拉列表的解决方法
2019/09/25 Javascript
vue-openlayers实现地图坐标弹框效果
2020/09/24 Javascript
测试、预发布后用python检测网页是否有日常链接
2014/06/03 Python
Python的Django框架中的数据过滤功能
2015/07/17 Python
python利用装饰器进行运算的实例分析
2015/08/04 Python
解决Linux系统中python matplotlib画图的中文显示问题
2017/06/15 Python
python实现银联支付和支付宝支付接入
2019/05/07 Python
python切片(获取一个子列表(数组))详解
2019/08/09 Python
python 画3维轨迹图并进行比较的实例
2019/12/06 Python
Django静态资源部署404问题解决方案
2020/05/11 Python
python实现爱奇艺登陆密码RSA加密的方法示例详解
2020/05/27 Python
使用html5+css3来实现slider切换效果告别javascript+css
2013/01/08 HTML / CSS
EJB3推出JPA的原因
2013/10/16 面试题
小学教师的自我评价范例
2013/10/31 职场文书
公司道歉信范文
2014/01/09 职场文书
大四学生思想汇报
2014/01/13 职场文书
学校学习雷锋活动总结
2014/07/03 职场文书
企业消防安全责任书
2014/07/23 职场文书
道路运输企业安全生产责任书
2014/07/28 职场文书
有关水浒传的读书笔记
2015/06/25 职场文书