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

相关文章

pytorch 更改预训练模型网络结构的方法

一个继承nn.module的model它包含一个叫做children()的函数,这个函数可以用来提取出model每一层的网络结构,在此基础上进行修改即可,修改方法如下(去除后两层):...

用python3读取python2的pickle数据方式

问题一:TypeError: a bytes-like object is required, not 'str' 解决:该问题属于Python3和Python2的字符串兼容问题,数据文...

Python字符串的encode与decode研究心得乱码问题解决方法

为什么会报错“UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not...

详解Python中的__new__()方法的使用

先看下object类中对__new__()方法的定义: class object: @staticmethod # known case of __new__...

简单了解Django模板的使用

简单了解Django模板的使用

模板标签include的使用 {%include"police/module/carousel.html"withimgs=imgsdiv_id='#carousel-index'%}...