返回顶部
首页 > 资讯 > 后端开发 > Python >Python 网络抓取和文本挖掘-1 H
  • 200
分享到

Python 网络抓取和文本挖掘-1 H

文本网络Python 2023-01-31 01:01:45 200人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

偶然在图书馆看到《基于R语言的自动数据收集:网络抓取和文本挖掘实用指南》,被第一章概述所吸引,迫不及待地借回来,下载代码在RStuido里进行实验。然后断断续续,囫囵吞枣式地翻了一遍,增长了知识,但没有如预期提升技能。决定换一种方式,照着

偶然在图书馆看到《基于R语言的自动数据收集:网络抓取和文本挖掘实用指南》,被第一章概述所吸引,迫不及待地借回来,下载代码在RStuido里进行实验。然后断断续续,囫囵吞枣式地翻了一遍,增长了知识,但没有如预期提升技能。决定换一种方式,照着书里的内容,用python实现一遍,作为读书笔记。 结果第一章就遇到困难了,要实现第一章的例子需安装basemap、geos等一系列包,还要实现对表格数据的提取。那就从第二章开始吧,直到第八章,然后再回过头来完成第一章的例子。

1. html

     1) HTML一个纯文本文件。

     2) HTML的标记能够定义文档的某些部分为标题、某些部分为链接、某些部分为表格,还有其它多种形式。

     3) 标记定义依赖于预先定义好的字符序列(即标签,如<html> 、<head>等)来封装文本部分。

     4) 用浏览器打开一个html文件,看到的是浏览器对这个hrml文件的解释和展现。

     5) 起始标签(如<title>)、内容和终止标签(如</title>)组合起来称为元素。

<title>First HTML</title>
     6) HTML文件是一个树形结构。


2. HTMLParser

HTMLParser是Python 自带的一个解析html的类,通过重载它的方法,解析出所需要的数据。查看帮助文档:https://docs.python.org/2/library/htmlparser.html

直接拷贝帮助文档的例子稍作修改,就可以用作提取数据。

    1)常用的属性属性:lasttag  

    2) 常用的可重载的方法:

         handle_starttag(self, tag, attrs):
         handle_endtag(self, tag):
         handle_data(self, data):
         handle_comment(self, data):

    3)实例

      从 Http://www.r-datacollection.com/materials/html/fortunes.html 网页中提取用<i>标签标记的内容 

      只要了解了urllib2和HTMLParser的使用,实现很简单,在MyHTMLParser类中定义了一个属性 data存放读取到的数据。源码如下:

# -*- coding:utf-8 -*-
import urllib2
from HTMLParser import HTMLParser


class MyHTMLParser(HTMLParser):

    def __init__(self):
        HTMLParser.__init__(self)
        self.data = []

    def get_data(self):
        return self.data

    def handle_data(self, data):
        if self.lasttag == 'i':
            if data != None and len(data.strip()) > 0:
                s = data.strip("'")
                self.data.append(s)


def get_html(url = 'http://www.r-datacollection.com/materials/html/fortunes.html'):
    request = urllib2.Request(url)
    response = urllib2.urlopen(request)
    page = response.read()
    parser = MyHTMLParser()
    parser.feed(page)
    parser.close()
    for line in parser.get_data():
        print line


if __name__ == '__main__':
    get_html()

--结束END--

本文标题: Python 网络抓取和文本挖掘-1 H

本文链接: https://lsjlt.com/news/184960.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python 网络抓取和文本挖掘-1 H
    偶然在图书馆看到《基于R语言的自动数据收集:网络抓取和文本挖掘实用指南》,被第一章概述所吸引,迫不及待地借回来,下载代码在RStuido里进行实验。然后断断续续,囫囵吞枣式地翻了一遍,增长了知识,但没有如预期提升技能。决定换一种方式,照着...
    99+
    2023-01-31
    文本 网络 Python
  • Python 网络抓取和文本挖掘 - 3
    XPath 是一种查询语言,用于在HTML/XML文档中定位和提取一些片段。XPath也是一个W3C标准。XPath只能处理DOM,所以必须先将HTML或XML文档加载解析成DOM。在Python中可以用lxml保的etree来 执行DO...
    99+
    2023-01-31
    文本 网络 Python
  • Python数据抓取、分析、挖掘和分布式计算内容有哪些
    本篇内容主要讲解“Python数据抓取、分析、挖掘和分布式计算内容有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python数据抓取、分析、挖掘和分布式计算内容有哪些”吧!01 数据抓取背...
    99+
    2023-06-17
  • 怎么用python爬虫抓取网页文本
    使用Python爬虫抓取网页文本可以使用第三方库requests和beautifulsoup。首先,安装requests和beaut...
    99+
    2023-10-18
    python
  • 如何用Python网络爬虫抓取百度贴吧评论区图片和视频
    如何用Python网络爬虫抓取百度贴吧评论区图片和视频,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。百度贴吧是全球最大的中文交流平台,你是否跟我一样,有时候看到评论区的图片...
    99+
    2023-06-01
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作