本文实例讲述了Python实现可获取网易页面所有文本信息的网易网络爬虫功能。分享给大家供大家参考,具体如下:

#coding=utf-8

#---------------------------------------

# 程序:网易爬虫

# 作者:ewang

# 日期:2016-7-6

# 语言:Python 2.7

# 功能:获取网易页面中的文本信息并保存到TXT文件中。

#---------------------------------------

import string

import urllib2

import re

import os

class WangYi_Spider:

#申明相关属性

def __init__(self):

#给wangyiUrl属性赋值

self.wangyiUrl="http://www.163.com/"

#用来保存页面中文字信息

self.pageinfor=[]

print u'已经启动网易爬虫,爬爬...'

#初始化加载页面并将其转码存储

def wangyi(self):

#读取页面的原始信息并将其从gbk转码

Page=urllib2.urlopen(self.wangyiUrl).read().decode('gbk')

#获取页面标题

title=self.find_title(Page)

print u'网页名称:'+title

#获取页面中文本信息

self.save_infor(title)

#查找页面标题

def find_title(self,page):

#匹配

xxxx

myTitle=re.search(r'

(.*?)',page,re.S)

#初始化标题名为暂无标题

title=u'暂无标题'

#如果标题存在把标题赋值给title

if myTitle:

#(.*?)这称作一个group,组是从1开始

title=myTitle.group(1)

else:

print u'爬虫报告:无法加载网页标题...'

return title

#保存页面信息

def save_infor(self,title):

#加载页面文本信息到数组中

self.get_infor()

#创建并打开本地文件

f=open(title+'.txt','w+')

#把获取的页面信息写入文件中

f.writelines(self.pageinfor)

#关闭打开的文件

f.close()

print u'爬虫报告:文件'+title+'.txt'+u'已经下载:'+os.getcwd()

print u'按任意键退出...'

raw_input()

#获取页面源码并将其存储到数组中

def get_infor(self):

#获取页面中的源码

page=urllib2.urlopen(self.wangyiUrl).read()

#把页面中的内容gbk解码然后获取页面中所有的文本信息

self.deal_infor(page.decode('gbk'))

#从页面代码中获取所需文信息

def deal_infor(self,page):

#获取XXX的文本信息XXX

emTagItems=re.findall("(\W+?)",page,re.S)

#获取XXXX的文本信息XXXX

spanTagItems=re.findall("(\W+?)",page,re.S)

#获取XXXX的文本信息XXXX

aTagItems=re.findall("(\W+?)",page,re.S)

#把em tag中获取的文本信息添加到数组pageinfor中

for emItem in emTagItems:

#对获取的文本信息用gbk进行编码

self.pageinfor.append(emItem.encode('gbk')+'\n')

#把span tag中获取的文本信息添加到数组pageinfor中

for spanItem in spanTagItems:

#对获取的文本信息用gbk进行编码

self.pageinfor.append(spanItem.encode('gbk')+'\n')

#把a tag中获取的文本信息添加到数组pageinfor中

for aItem in aTagItems:

#对获取的文本信息用gbk进行编码

self.pageinfor.append(aItem.encode('gbk')+'\n')

#------------程序入口处----------------

print u"""#---------------------------------------

# 程序:网易爬虫

# 作者:ewang

# 日期:2016-7-6

# 语言:Python 2.7

# 功能:获取网易页面中的文本信息并保存到TXT文件中

#--------------------------------------------------

"""

wangyiSpider=WangYi_Spider()

wangyiSpider.wangyi()

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

python爬虫抓取文本_Python实现可获取网易页面所有文本信息的网易网络爬虫功能示例...相关推荐

  1. python上市公司有哪些_python调用tushare获取A股上市公司基础信息

    接口:stock_company 描述:获取上市公司基础信息 积分:用户需要至少120积分才可以调取,具体请参阅最下方积分获取办法 注:tushare库下载和初始化教程,请查阅我之前的文章 输入参数 ...

  2. python爬取网站时,一键获取headers、url等信息(真的是让我爬取网站时,省了不少力气,作为小秘密分享给大家喽)

    python爬取网站时,一键获取headers.url等信息 (真的是让我爬取网站时,省了不少力气,作为小秘密分享给大家喽) 作为Python的使用者,我今天就和大家来分享分享我学习python的经验 ...

  3. js准确获取当前页面url网址信息

    这篇文章主要为大家介绍了js准确获取当前页面url网址信息的多种方法,包括正则法.split拆分法等,需要的朋友可以参考下 在WEB开发中,时常会用到javascript来获取当前页面的url网址信息 ...

  4. 截取url的host_js如何准确获取当前页面url网址信息

    在WEB开发中,时常会用到javascript来获取当前页面的url网址信息,在这里是我的一些获取url信息的小总结. 下面我们举例一个URL,然后获得它的各个组成部分:http://i.jb51.n ...

  5. java获取当前页面url地址_js如何准确获取当前页面url网址信息

    在WEB开发中,时常会用到javascript来获取当前页面的url网址信息,在这里是我的一些获取url信息的小总结. 下面我们举例一个URL,然后获得它的各个组成部分:http://i.cnblog ...

  6. python读取文本中的英文歌_Python 实例分析 - 获取MP3歌曲的Tag信息

    下面利用一个python的实例程序,来学习python.这个程序的目的就是分析出所有MP3文件的Tag信息并输出. 其中遇到一个问题,让我深切感受到python中依靠缩进来控制流程的缺点,不多说,看程 ...

  7. python爬取股票代码_Python爬取百度股市通股票详细信息

    更多教程请移步至:洛凉博客 最近一直在看北京理工大学嵩教授主讲的:Python网络爬虫与信息提取 课程里面也有很多实例.大家可以去中国MOOC搜索查看下实例. 不过教授的思路挺好的.代码稳定性也没得说 ...

  8. [Python]爬取 游民星空网站 每周精选壁纸(1080高清壁纸) 网络爬虫

    一.检查 首先进入该网站的https://www.gamersky.com/robots.txt页面 给出提示: 弹出错误页面 注: 网络爬虫:自动或人工识别robots.txt,再进行内容爬取 约束 ...

  9. python3网络爬虫开发实战豆瓣_大牛程序员教你1天入门Python3 网络爬虫例子

    在我们日常上网浏览网页的时候,经常会看到一些好看的图片,我们就希望把这些图片保存下载,或者用户用来做桌面壁纸,或者用来做设计的素材.其实我们可以通过python 来实现这样一个简单的爬虫功能,把我们想 ...

最新文章

  1. Nginx——反向代理
  2. linux如何映射Windows下的磁盘为网络盘
  3. c#程序打包,同时把netframework也打包进去
  4. 3条原则,16个小点,帮你写出一个优秀的对外接口!
  5. 利用Visual Studio Project自动将数据加载到SQL Server数据库中
  6. 重磅!阿里首推的“SpringBoot+Vue全栈项目”有多牛X?
  7. html日期选择器小日历样式,9 款样式华丽的 jQuery 日期选择和日历控件
  8. 前端开发基本工作内容有哪些?
  9. linux的tar命令详情;linux多个文件压缩打包到一个压缩文件
  10. prisma2.0和nexus搭建graphql后端(2)—nexus
  11. Launching unittests with arguments python -m unittest
  12. 学习日志之synthesis and optimization(4)——banding and sharing
  13. R语言基于mediation包行中介效应分析(2)
  14. 读书笔记 -- 算法入门
  15. 6 统计正数和负数的个数然后计算这些数的平均值
  16. createGiottoVisiumObject从10x原始数据创建 giotto对象
  17. 计算机计算填充快捷键,CAD快速计算器的快捷键
  18. mysql 停从库_MySQL_通过两种方式增加从库——不停止mysql服务,一般在线增加从库有两种方式 - phpStudy...
  19. 本地上传文件到Linux服务器
  20. 通讯录软件测试初学者,通过实例学VB—创建简单的个人通讯录

热门文章

  1. 1062. 最简分数(20)
  2. Spring 集成web环境
  3. hive 的条件判断(if、coalesce、case)
  4. 【收藏】C# WinForm开发系列 - DataGridView 使用方法集锦 - 宁波.Net技术讨论区
  5. Wireshark抓包分析TCP建立/释放链接的过程以及状态变迁分析
  6. Docker自动补全容器名
  7. PCL—关键点检测(rangeImage)低层次点云处理
  8. CSS-posiziton
  9. 实现进程守护 脚本命令
  10. oracle 的进程