使用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实现实例
Apr 26 Python
深入学习Python中的装饰器使用
Jun 20 Python
Python基于更相减损术实现求解最大公约数的方法
Apr 04 Python
Flask框架Jinjia模板常用语法总结
Jul 19 Python
Django进阶之CSRF的解决
Aug 01 Python
python3.6下Numpy库下载与安装图文教程
Apr 02 Python
Pytorch对Himmelblau函数的优化详解
Feb 29 Python
python判断变量是否为列表的方法
Sep 17 Python
Python self用法详解
Nov 28 Python
Python字符串的15个基本操作(小结)
Feb 03 Python
Python趣味挑战之教你用pygame画进度条
May 31 Python
详解Python中*args和**kwargs的使用
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与MySQL开发中页面出现乱码的一种解决方法
2007/07/29 PHP
php set_magic_quotes_runtime() 函数过时解决方法
2010/07/08 PHP
ThinkPHP3.1新特性之字段合法性检测详解
2014/06/19 PHP
ThinkPHP3.1新特性之查询条件预处理简介
2014/06/19 PHP
thinkPHP中配置的读取与C方法详解
2016/12/05 PHP
php查询内存信息操作示例
2019/05/09 PHP
PHP实现简易用户登录系统
2020/07/10 PHP
document.execCommand()的用法小结
2014/01/08 Javascript
Bootstrap Table从服务器加载数据进行显示的实现方法
2016/09/29 Javascript
Bootstrap弹出框modal上层的输入框不能获得焦点问题的解决方法
2016/12/13 Javascript
jQuery基于xml格式数据实现模糊查询及分页功能的方法
2016/12/25 Javascript
浅谈react.js中实现tab吸顶效果的问题
2017/09/06 Javascript
JS设计模式之惰性模式(二)
2017/09/29 Javascript
使用VUE实现在table中文字信息超过5个隐藏鼠标移到时弹窗显示全部
2019/09/16 Javascript
JS 图片压缩原理与实现方法详解
2020/04/29 Javascript
带你使用webpack快速构建web项目的方法
2020/11/12 Javascript
python生成随机mac地址的方法
2015/03/16 Python
Python3通过Luhn算法快速验证信用卡卡号的方法
2015/05/14 Python
python实现爬取千万淘宝商品的方法
2015/06/30 Python
python学习笔记之调用eval函数出现invalid syntax错误问题
2015/10/18 Python
Python中模块与包有相同名字的处理方法
2017/05/05 Python
Python判断有效的数独算法示例
2019/02/23 Python
Python循环结构的应用场景详解
2019/07/11 Python
Python Pandas 转换unix时间戳方式
2019/12/07 Python
使用python实现数组、链表、队列、栈的方法
2019/12/20 Python
CSS3 圆角效果
2009/07/15 HTML / CSS
使用HTML5和CSS3制作一个模态框的示例
2018/03/07 HTML / CSS
翻新二手苹果产品的网络领导者:Mac of all Trades
2017/12/19 全球购物
德国电子产品购物网站:TechInTheBasket德国
2018/12/07 全球购物
竞争上岗演讲稿范文
2014/05/12 职场文书
摄影专业毕业生求职信
2014/08/05 职场文书
2016年“世界环境日”校园广播稿
2015/12/18 职场文书
礼仪培训心得体会
2016/01/22 职场文书
2016年优秀共产党员先进事迹材料
2016/02/29 职场文书
80行代码写一个Webpack插件并发布到npm
2021/05/24 Javascript
nginx配置限速限流基于内置模块
2022/05/02 Servers