Python使用bs4获取58同城城市分类的方法

yipeiwu_com6年前Python基础

本文实例讲述了Python使用bs4获取58同城城市分类的方法。分享给大家供大家参考。具体如下:

# -*- coding:utf-8 -*-
#! /usr/bin/python
import urllib
import os, datetime, sys
from bs4 import BeautifulSoup
reload(sys) 
sys.setdefaultencoding( "utf-8" ) 
__BASEURL__ = "http://bj.58.com/"
__INITURL__ = "http://bj.58.com/hezu/"
soup=BeautifulSoup(urllib.urlopen(__INITURL__))
lv1Elements = soup.html.body.section.find('div', 'relative').find('dl', 'secitem')('a',href=True)
f=open('data.txt', 'w')
for element in lv1Elements[1:]:
  f.write((element.get_text() + '\r\n'))
  print element.get_text()
  url = __BASEURL__ + element.get('href')
  print url
  soup=BeautifulSoup(urllib.urlopen(url))
  lv2Elements = soup.html.body.section.find('div', 'relative').find('dl', 'secitem').find('div', 'subarea').find_all('a')
  texts = [t.get_text() for t in lv2Elements]
  f.write(' '.join(texts) + '\r\n\r\n')
f.close()

希望本文所述对大家的Python程序设计有所帮助。

相关文章

深入理解Python中range和xrange的区别

【听图阁-专注于Python设计】已经给大家介绍过range和xrange的区别的基础知识,有兴趣的朋友可以参阅:  python中xrange和range的区别 python...

django基础学习之send_mail功能

前言 我们知道python中smtplib模块用于邮件的功能,而django对这个这模块进行封装,使得它使用起来十分简单。 django.core.mail就是django邮件的核心模...

Python动刷新抢12306火车票的代码(附源码)

Python动刷新抢12306火车票的代码(附源码)

用python另一个抢票神器,你get到了吗? 2017年时间飞逝,转眼间距离2018年春节还有不到1个月的时间,还在为抢不到火车票发愁吗?作为程序员的我们撸一个抢票软件可好? 难以想象...

Django如何使用第三方服务发送电子邮件

Django如何使用第三方服务发送电子邮件

在 Django 网站中使用 mailgun 的邮件收发服务。 1.在 mailgun 官网上注册个账号(免费,免费账号每个月有10000条收发邮件的服务,对我来说已经完全够用了),注册...

对python中list的拷贝与numpy的array的拷贝详解

对python中list的拷贝与numpy的array的拷贝详解

1.python中列表list的拷贝,会有什么需要注意的呢? python变量名相当于标签名。 list2=list1 ,直接赋值,实质上指向的是同一个内存值。任意一个变量list1...