使用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 08 Python
Django的HttpRequest和HttpResponse对象详解
Jan 26 Python
TensorFlow神经网络优化策略学习
Mar 09 Python
在Python中实现shuffle给列表洗牌
Nov 08 Python
Python实现截取PDF文件中的几页代码实例
Mar 11 Python
利用Django模版生成树状结构实例代码
May 19 Python
django formset实现数据表的批量操作的示例代码
Dec 06 Python
python中count函数简单的实例讲解
Feb 06 Python
Python3实现打印任意宽度的菱形代码
Apr 12 Python
python如何操作mysql
Aug 17 Python
Jupyter Notebook内使用argparse报错的解决方案
Jun 03 Python
代码复现python目标检测yolo3详解预测
May 06 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 cache类代码(php数据缓存类)
2010/04/15 PHP
PHP JSON格式数据交互实例代码详解
2011/01/13 PHP
PHP缓存集成库phpFastCache用法
2014/12/15 PHP
深入讲解PHP Session及如何保持其不过期的方法
2015/08/18 PHP
php实现在线通讯录功能(附源码)
2016/05/13 PHP
CI框架中数据库操作函数$this->db->where()相关用法总结
2016/05/17 PHP
PHP设计模式之注册树模式分析
2018/01/26 PHP
Laravel中unique和exists验证规则的优化详解
2018/01/28 PHP
Laravel自定义 封装便捷返回Json数据格式的引用方法
2019/09/29 PHP
Jquery创建层显示标题和内容且随鼠标移动而移动
2014/01/26 Javascript
Javascript基于AJAX回调函数传递参数实例分析
2015/12/15 Javascript
详解Javascript事件驱动编程
2016/01/03 Javascript
基于vue.js 2.x的虚拟滚动条的示例代码
2018/01/23 Javascript
vue构建动态表单的方法示例
2018/09/22 Javascript
Vue通过WebSocket建立长连接的实现代码
2019/11/05 Javascript
win7安装python生成随机数代码分享
2013/12/27 Python
Python struct模块解析
2014/06/12 Python
Python实现自定义函数的5种常见形式分析
2018/06/16 Python
浅谈关于Python3中venv虚拟环境
2018/08/01 Python
Python爬虫 urllib2的使用方法详解
2019/09/23 Python
使用NumPy读取MNIST数据的实现代码示例
2019/11/20 Python
centos7中安装python3.6.4的教程
2019/12/11 Python
Python生成六万个随机,唯一的8位数字和数字组成的随机字符串实例
2020/03/03 Python
解决echarts中饼图标签重叠的问题
2020/05/16 Python
如何在sublime编辑器中安装python
2020/05/20 Python
Python爬取数据并实现可视化代码解析
2020/08/12 Python
python 实用工具状态机transitions
2020/11/21 Python
python 逆向爬虫正确调用 JAR 加密逻辑
2021/01/12 Python
东南亚排名第一的服务市场:kaodim
2019/03/28 全球购物
Audible英国:有声读物,30天免费试用
2019/10/16 全球购物
物业管理专业个人的自我评价
2013/11/19 职场文书
《要下雨了》教学反思
2014/02/17 职场文书
公益广告语集锦
2014/03/13 职场文书
四查四看整改措施
2014/09/19 职场文书
民主生活会对照检查材料思想汇报
2014/09/27 职场文书
MySQL触发器的使用
2021/05/24 MySQL