使用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转码问题的解决方法
Oct 07 Python
用python代码做configure文件
Jul 20 Python
Python数组条件过滤filter函数使用示例
Jul 22 Python
利用Python的装饰器解决Bottle框架中用户验证问题
Apr 24 Python
pandas获取groupby分组里最大值所在的行方法
Apr 20 Python
Python实现计算字符串中出现次数最多的字符示例
Jan 21 Python
python实现石头剪刀布小游戏
Jan 20 Python
Python中请不要再用re.compile了
Jun 30 Python
django rest framework vue 实现用户登录详解
Jul 29 Python
Python生成个性签名图片获取GUI过程解析
Dec 16 Python
python deque模块简单使用代码实例
Mar 12 Python
python 三边测量定位的实现代码
Apr 22 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
利用文件属性结合Session实现在线人数统计
2006/10/09 PHP
php数据库连接
2006/10/09 PHP
PHP最常用的2种设计模式工厂模式和单例模式介绍
2012/08/14 PHP
ThinkPHP中ajax使用实例教程
2014/08/22 PHP
PHP常用编译参数中文说明
2014/09/27 PHP
getimagesize获取图片尺寸实例
2014/11/15 PHP
php根据一个给定范围和步进生成数组的方法
2015/06/19 PHP
关于PHP中interface的用处详解
2020/07/26 PHP
用jscript实现新建word文档
2007/06/15 Javascript
js Dialog 实践分享
2012/10/22 Javascript
使用apply方法实现javascript中的对象继承
2013/12/16 Javascript
将查询条件的input、select清空
2014/01/14 Javascript
jquery选择器之属性过滤选择器详解
2014/01/27 Javascript
node.js中的console.timeEnd方法使用说明
2014/12/09 Javascript
Jquery ajax基础教程
2015/11/20 Javascript
nodejs实现bigpipe异步加载页面方案
2016/01/26 NodeJs
基于javascript实现页面加载loading效果
2020/09/15 Javascript
老生常谈JavaScript 函数表达式
2016/09/01 Javascript
BootStrap TreeView使用实例详解
2017/11/01 Javascript
浅谈react 同构之样式直出
2017/11/07 Javascript
[59:53]DOTA2-DPC中国联赛 正赛 VG vs Elephant BO3 第二场 3月6日
2021/03/11 DOTA
python实现进程间通信简单实例
2014/07/23 Python
python实现xlsx文件分析详解
2018/01/02 Python
python学习基础之循环import及import过程
2018/04/22 Python
解决Python找不到ssl模块问题 No module named _ssl的方法
2019/04/29 Python
python 表格打印代码实例解析
2019/10/12 Python
Python调用Windows API函数编写录音机和音乐播放器功能
2020/01/05 Python
tensorflow与numpy的版本兼容性问题的解决
2021/01/08 Python
利用css3径向渐变做一张优惠券的示例
2018/03/22 HTML / CSS
css3实现蒙版弹幕功能
2019/06/18 HTML / CSS
法学毕业生自荐信
2013/11/13 职场文书
办公室个人总结
2015/02/28 职场文书
2016教师年度考核评语大全
2015/12/01 职场文书
建立共青团委员会的请示
2019/04/02 职场文书
Python如何把不同类型数据的json序列化
2021/04/30 Python
配置nginx 重定向到系统维护页面
2021/06/08 Servers