python爬虫抓取文本_Python实现可获取网易页面所有文本信息的网易网络爬虫功能示例...
本文实例讲述了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实现可获取网易页面所有文本信息的网易网络爬虫功能示例...相关推荐
- python上市公司有哪些_python调用tushare获取A股上市公司基础信息
接口:stock_company 描述:获取上市公司基础信息 积分:用户需要至少120积分才可以调取,具体请参阅最下方积分获取办法 注:tushare库下载和初始化教程,请查阅我之前的文章 输入参数 ...
- python爬取网站时,一键获取headers、url等信息(真的是让我爬取网站时,省了不少力气,作为小秘密分享给大家喽)
python爬取网站时,一键获取headers.url等信息 (真的是让我爬取网站时,省了不少力气,作为小秘密分享给大家喽) 作为Python的使用者,我今天就和大家来分享分享我学习python的经验 ...
- js准确获取当前页面url网址信息
这篇文章主要为大家介绍了js准确获取当前页面url网址信息的多种方法,包括正则法.split拆分法等,需要的朋友可以参考下 在WEB开发中,时常会用到javascript来获取当前页面的url网址信息 ...
- 截取url的host_js如何准确获取当前页面url网址信息
在WEB开发中,时常会用到javascript来获取当前页面的url网址信息,在这里是我的一些获取url信息的小总结. 下面我们举例一个URL,然后获得它的各个组成部分:http://i.jb51.n ...
- java获取当前页面url地址_js如何准确获取当前页面url网址信息
在WEB开发中,时常会用到javascript来获取当前页面的url网址信息,在这里是我的一些获取url信息的小总结. 下面我们举例一个URL,然后获得它的各个组成部分:http://i.cnblog ...
- python读取文本中的英文歌_Python 实例分析 - 获取MP3歌曲的Tag信息
下面利用一个python的实例程序,来学习python.这个程序的目的就是分析出所有MP3文件的Tag信息并输出. 其中遇到一个问题,让我深切感受到python中依靠缩进来控制流程的缺点,不多说,看程 ...
- python爬取股票代码_Python爬取百度股市通股票详细信息
更多教程请移步至:洛凉博客 最近一直在看北京理工大学嵩教授主讲的:Python网络爬虫与信息提取 课程里面也有很多实例.大家可以去中国MOOC搜索查看下实例. 不过教授的思路挺好的.代码稳定性也没得说 ...
- [Python]爬取 游民星空网站 每周精选壁纸(1080高清壁纸) 网络爬虫
一.检查 首先进入该网站的https://www.gamersky.com/robots.txt页面 给出提示: 弹出错误页面 注: 网络爬虫:自动或人工识别robots.txt,再进行内容爬取 约束 ...
- python3网络爬虫开发实战豆瓣_大牛程序员教你1天入门Python3 网络爬虫例子
在我们日常上网浏览网页的时候,经常会看到一些好看的图片,我们就希望把这些图片保存下载,或者用户用来做桌面壁纸,或者用来做设计的素材.其实我们可以通过python 来实现这样一个简单的爬虫功能,把我们想 ...
最新文章
- Nginx——反向代理
- linux如何映射Windows下的磁盘为网络盘
- c#程序打包,同时把netframework也打包进去
- 3条原则,16个小点,帮你写出一个优秀的对外接口!
- 利用Visual Studio Project自动将数据加载到SQL Server数据库中
- 重磅!阿里首推的“SpringBoot+Vue全栈项目”有多牛X?
- html日期选择器小日历样式,9 款样式华丽的 jQuery 日期选择和日历控件
- 前端开发基本工作内容有哪些?
- linux的tar命令详情;linux多个文件压缩打包到一个压缩文件
- prisma2.0和nexus搭建graphql后端(2)—nexus
- Launching unittests with arguments python -m unittest
- 学习日志之synthesis and optimization(4)——banding and sharing
- R语言基于mediation包行中介效应分析(2)
- 读书笔记 -- 算法入门
- 6 统计正数和负数的个数然后计算这些数的平均值
- createGiottoVisiumObject从10x原始数据创建 giotto对象
- 计算机计算填充快捷键,CAD快速计算器的快捷键
- mysql 停从库_MySQL_通过两种方式增加从库——不停止mysql服务,一般在线增加从库有两种方式 - phpStudy...
- 本地上传文件到Linux服务器
- 通讯录软件测试初学者,通过实例学VB—创建简单的个人通讯录