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

yipeiwu_com7年前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程序设计有所帮助。

相关文章

python3获取两个日期之间所有日期,以及比较大小的实例

如下所示: import datetime #获取两个日期间的所有日期 def getEveryDay(begin_date,end_date): date_list = [...

完美解决python中ndarray 默认用科学计数法显示的问题

完美解决python中ndarray 默认用科学计数法显示的问题

机器环境: Python 3.6.4 numpy==1.14.0 pandas==0.22.0 解决方法: np.set_printoptions(suppress=True) 默认情况...

Python数据持久化存储实现方法分析

本文实例讲述了Python数据持久化存储实现方法。分享给大家供大家参考,具体如下: 1、pymongo的使用 前三步为创建对象 第一步创建连接对象 conn = pymong...

使用go和python递归删除.ds store文件的方法

python版本:复制代码 代码如下:#!/usr/bin/env pythonimport os, sys;def walk(path):  print "cd directory:"...

浅谈Python type的使用

判断类型 在Python中我们可以使用type进行类型的判断 #我们想看一个对象的的类型可以这样 class A: pass a = A() type(a) == A #Tru...