使用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 set集合类型操作总结
Nov 07 Python
Python执行时间的计算方法小结
Mar 17 Python
Python实现的归并排序算法示例
Nov 21 Python
Python AES加密实例解析
Jan 18 Python
浅谈Python中的作用域规则和闭包
Mar 20 Python
Pycharm 实现下一个文件引用另外一个文件的方法
Jan 17 Python
Pyqt5 实现跳转界面并关闭当前界面的方法
Jun 19 Python
pandas.DataFrame的pivot()和unstack()实现行转列
Jul 06 Python
Python 函数list&read&seek详解
Aug 28 Python
关于Theano和Tensorflow多GPU使用问题
Jun 19 Python
keras 两种训练模型方式详解fit和fit_generator(节省内存)
Jul 03 Python
Python基础之元编程知识总结
May 23 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
Email+URL的判断和自动转换函数
2006/10/09 PHP
实用函数3
2007/11/08 PHP
php 结果集的分页实现代码
2009/03/10 PHP
PHP+Memcache实现wordpress访问总数统计(非插件)
2014/07/04 PHP
smarty自定义函数用法示例
2016/05/20 PHP
php利用fsockopen GET/POST提交表单及上传文件
2017/05/22 PHP
iis6手工创建网站后无法运行php脚本的解决方法
2017/06/08 PHP
PHP随机生成中文段落示例【测试网站内容时使用】
2020/04/26 PHP
PHP autoload使用方法及步骤详解
2020/09/05 PHP
jquery ajax 检测用户注册时用户名是否存在
2009/11/03 Javascript
用apply让javascript函数仅执行一次的代码
2010/06/27 Javascript
事件模型在各浏览器中存在差异
2010/10/20 Javascript
brook javascript框架介绍
2011/10/10 Javascript
JavaScript mapreduce工作原理简析
2012/11/25 Javascript
js控制input输入字符解析
2013/12/27 Javascript
javascript跨域的方法汇总
2015/10/23 Javascript
javascript针对cookie的基本操作实例详解
2015/11/30 Javascript
JavaScript中数组的22种方法必学(推荐)
2016/07/20 Javascript
从零学习node.js之express入门(六)
2017/02/25 Javascript
Vue2.0 axios前后端登陆拦截器(实例讲解)
2017/10/27 Javascript
vue.js中toast用法及使用toast弹框的实例代码
2018/08/27 Javascript
Python实现模拟登录及表单提交的方法
2015/07/25 Python
Python while 循环使用的简单实例
2016/06/08 Python
使用Python通过win32 COM实现Word文档的写入与保存方法
2018/05/08 Python
python实现计数排序与桶排序实例代码
2019/03/28 Python
python写入文件自动换行问题的方法
2019/07/05 Python
Python while true实现爬虫定时任务
2020/06/08 Python
基于Python实现下载网易音乐代码实例
2020/08/10 Python
LightInTheBox西班牙站点:全球商品在线采购
2016/09/22 全球购物
俄罗斯购买剧院和演唱会门票网站:Parter.ru
2019/11/09 全球购物
副科级后备干部考察材料
2014/05/15 职场文书
人口与计划生育目标管理责任书
2014/07/29 职场文书
爱岗敬业事迹材料
2014/12/24 职场文书
2015暑期工社会实践报告
2015/07/13 职场文书
幼儿园大班教学反思
2016/03/02 职场文书
Elasticsearch 索引操作和增删改查
2022/04/19 Python