python采集百度百科的方法

yipeiwu_com7年前Python基础

本文实例讲述了python采集百度百科的方法。分享给大家供大家参考。具体如下:

#!/usr/bin/python
# -*- coding: utf-8 -*-
#encoding=utf-8 
#Filename:get_baike.py
import urllib2,re
import sys
def getHtml(url,time=10):
 response = urllib2.urlopen(url,timeout=time)
 html = response.read()
 response.close()
 return html
def clearBlank(html):
 if len(html) == 0 : return ''
 html = re.sub('\r|\n|\t','',html)
 while html.find(" ")!=-1 or html.find(' ')!=-1 :
  html = html.replace(' ',' ').replace(' ',' ')
 return html
if __name__ == '__main__':
  html = getHtml('http://baike.baidu.com/view/4617031.htm',10)
  html = html.decode('gb2312','replace').encode('utf-8') #转码
  title_reg = r'<h1 class="title" id="[\d]+">(.*?)</h1>'
  content_reg = r'<div class="card-summary-content">(.*?)</p>'
  title = re.compile(title_reg).findall(html)
  content = re.compile(content_reg).findall(html)
  title[0] = re.sub(r'<[^>]*?>', '', title[0])
  content[0] = re.sub(r'<[^>]*?>', '', content[0])
  print title[0]
  print '#######################'
  print content[0]

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

相关文章

Python3实现的反转单链表算法示例

本文实例讲述了Python3实现的反转单链表算法。分享给大家供大家参考,具体如下: 反转一个单链表。 方案一:迭代 # Definition for singly-linked li...

深入学习python的yield和generator

前言 没有用过的东西,没有深刻理解的东西很难说自己会,而且被别人一问必然破绽百出。虽然之前有接触过python协程的概念,但是只是走马观花,这两天的一次交谈中,别人问到了协程,顿时语塞,...

将Emacs打造成强大的Python代码编辑工具

将Emacs打造成强大的Python代码编辑工具

基本配置 Emacs本身提供了python-mode,输入M-x python-mode,就可以进入python模式。相应地,会在菜单栏出现Python菜单。当然,一般来讲,如果是.py...

下载与当前Chrome对应的chromedriver.exe(用于python+selenium)

下载与当前Chrome对应的chromedriver.exe(用于python+selenium)

一、 打开Chrome浏览器,输chrome://version/ 二、下载chromedriver.exe驱动 注意:上图可以看到安装的Chrome浏览器版本为79.0.3945.8...

在Python中实现函数重载的示例代码

在Python中实现函数重载的示例代码

假设你有一个函数connect,它有一个参数address,这个参数可能是一个字符串,也可能是一个元组。例如: connect('123.45.32.18:8080') connec...