使用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实现系统状态监测和故障转移实例方法
Nov 18 Python
python实现的阳历转阴历(农历)算法
Apr 25 Python
python计算时间差的方法
May 20 Python
python使用xmlrpclib模块实现对百度google的ping功能
Jun 02 Python
Python发送http请求解析返回json的实例
Mar 26 Python
python3 kmp 字符串匹配的方法
Jul 07 Python
python GUI实现小球满屏乱跑效果
May 09 Python
Django中如何使用sass的方法步骤
Jul 09 Python
python2和python3实现在图片上加汉字的方法
Aug 22 Python
下载官网python并安装的步骤详解
Oct 12 Python
python爬虫爬取监控教务系统的思路详解
Jan 08 Python
如何基于python实现单目三维重建详解
Jun 25 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
改德生G88 - 加装等响度低音提升电路
2021/03/02 无线电
咖啡常见的种类
2021/03/03 新手入门
php 301转向实现代码
2008/09/18 PHP
领悟php接口中interface存在的意义
2013/06/27 PHP
zf框架的Filter过滤器使用示例
2014/03/13 PHP
thinkphp使用phpmailer发送邮件的方法
2014/11/24 PHP
[原创]php求圆周率的简单实现方法
2016/05/30 PHP
PHP中用mysqli面向对象打开连接关闭mysql数据库的方法
2016/11/05 PHP
总结PHP内存释放以及垃圾回收
2018/03/29 PHP
PHP回调函数简单用法示例
2019/05/08 PHP
PHP中常用的三种设计模式详解【单例模式、工厂模式、观察者模式】
2019/06/14 PHP
浅析onsubmit校验表单时利用ajax的return false无效问题
2013/07/10 Javascript
js字母大小写转换实现方法总结
2013/11/13 Javascript
原生js实现fadein 和 fadeout淡入淡出效果
2014/06/05 Javascript
原生态js,鼠标按下后,经过了那些单元格的简单实例
2016/08/11 Javascript
js评分组件使用详解
2017/06/06 Javascript
原生JS实现简单的倒计时功能示例
2018/08/30 Javascript
在Vant的基础上实现添加表单验证框架的方法示例
2018/12/05 Javascript
jQuery选择器选中最后一个元素,倒数第二个元素操作示例
2018/12/10 jQuery
Jquery实现获取子元素的方法分析
2019/08/24 jQuery
一看就会的vuex实现登录验证(附案例)
2020/01/09 Javascript
jQuery实现获取多选框的值示例
2020/02/07 jQuery
详解在Python程序中使用Cookie的教程
2015/04/30 Python
利用python获取某年中每个月的第一天和最后一天
2016/12/15 Python
Python操作mongodb数据库的方法详解
2018/12/08 Python
Python编程深度学习计算库之numpy
2018/12/28 Python
Django框架创建mysql连接与使用示例
2019/07/29 Python
python TCP包注入方式
2020/05/05 Python
美国最大的骑马用品零售商:HorseLoverZ
2017/01/12 全球购物
日本最大化妆品和美容产品的综合口碑网站:cosme shopping
2019/08/28 全球购物
《长城》教学反思
2014/02/14 职场文书
《三袋麦子》教学反思
2014/03/02 职场文书
企业趣味活动方案
2014/08/21 职场文书
优秀教研组申报材料
2014/12/26 职场文书
《小摄影师》教学反思
2016/02/18 职场文书
安装harbor作为docker镜像仓库的问题
2022/06/14 Servers