我的编程空间,编程开发者的网络收藏夹
学习永远不晚

利用python处理网页信息

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

利用python处理网页信息

    在前几周的grep/sed/awk实战中提到,“和CoreSite - Any2 California接入商建立网络BGP邻居关系。从peeringdb上找到了所有接入商的信息,但是转移信息到本地不是很方便,需要进行多次文本调整,耗时较长。作为萌新,立马就想到近期学习的grep/sed/awk工具。于是就尝试处理数据。”因为当时是刚学习了linux正则的这三个工具,就立马利用了起来,权当练手。在文末也曾提到所有的操作其实都可以通过python完成。 

    恰巧近几天,又学习了python抓取页面提取信息的一些知识。因此,就同样的内容,再次以python的方式去处理。


▎元素样本:

    <div class="row item">
      <div class="col-xs-5 col-sm-5 col-md-5">
        <div class="peer" data-sort-value="zenlayer inc" data-filter-value="Zenlayer Inc">
          <a href="/net/1234">Zenlayer Inc</a>
        </div>
        <div class="asn" data-sort-value="21859" data-filter-value="21859">21859</div>
      </div>
      <div class="col-xs-4 col-sm-4 col-md-4">
        <div class="ip4" data-filter-value="206.72.210.119">206.72.210.119</div>
        <div class="ip6" data-filter-value="None">None</div>
      </div>
      <div class="col-xs-3 col-sm-3 col-md-3">
        <div class="speed" data-sort-value="20000" data-filter-value="20G">20G</div>
        <div class="policy" data-filter-value="Open">Open</div>
      </div>
    </div>


▎处理思路:

wKiom1l-G2mi-mUpAAB2YgNhTTc716.png-wh_50


▎简易版脚本:

#/usr/bin/env python                                  
import requests,bs4
headers={'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:24.0) Gecko/20100101 Firefox/24.0'}
url='https://www.peeringdb.com/ix/142'
peering=requests.get(url,headers=headers)
peering.raise_for_status()
peers=bs4.BeautifulSoup(peering.text[:],'html.parser')
elemPeer=peers.select('.peer a')
elemASN=peers.select('.asn')
elemIP4=peers.select('.ip4')
elemSpeed=peers.select('.speed')
elemPolicy=peers.select('.policy')

if __name__=='__main__': 
	for i in range(len(elemPeer)):
		print(elemPeer[i].getText()+'*'+elemASN[i].getText()+'*'+elemIP4[i].getText()+'*'+elemSpeed[i].getText()+'*'+elemPolicy[i].getText())

作为简易版,这里没有做任何的异常处理,也没有对各个元素的list进行长度比较。这部分在后期可以考虑加上。代码相关的解释参见学习笔记,主要运用了requests和BeautifulSoup两个模块。需要解释的是,elemPeer这个变量在处理的时候,因为“class="peer"”内还有一行“<a href="/net/1234">Zenlayer Inc</a>”,因此还需要加上“a”元素精确定位抓取。


▎运行效果:

wKiom1l98N2Q7VMLAACmzwGyJqw433.png-wh_50


由于测试系统为CentOS 7,不支持Excel,因此这里不使用openpyxl模块导入EXCEL文件里这个功能。暂时改为手动处理。

阅读者如有兴趣,可优化代码,并深入处理,如:登录网站、爬虫每个接入商的页面,提取其他信息等。


对比此文和前次利用grep/sed/awk处理的两种方式,可以发现python版的处理方式更为简洁,人工处理的部分更少。由此,可以看到python在处理大数据信息上的优势。


利用python处理网页信息

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

利用python处理网页信息

在前几周的grep/sed/awk实战中提到,“和CoreSite - Any2 California接入商建立网络BGP邻居关系。从peeringdb上找到了所有接入商的信息,但是转移信息到本地不是很方便,需要进行多次文本调整,耗时较长。
2023-01-31

利用requests+BeautifulSoup爬取网页关键信息

一、requests库基础知识Requests的方法 requests库的response对象二、爬取网站所需信息1.访问网站,如图1-1所示:图1-12.点击子页面,审查网页元素,部分内容如图1-2所示:图1-23.实现代码如下:#co
2023-06-02

Python怎么利用正则表达式爬取网页信息及图片

小编给大家分享一下Python怎么利用正则表达式爬取网页信息及图片,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、正则表达式是什么?概念:正则表达式是对字符串操
2023-06-14

使用Python处理文本,整理信息

任务目标通过Python将上述的命令输出从一整个文件中取出来,并转换成表格。否则,我需要分别打开每一个文件,找到对应的输出,拷贝到Ecxel,再进行数据分列动作,操作繁琐而且重复性很大,因此考虑用Python尝试自动化完成此项工作。show
2023-01-31

怎么利用Python网络爬虫来提取信息

怎么利用Python网络爬虫来提取信息,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。下面小编就为大家带来一篇Python网络爬虫与信息提取(实例讲解)。小编觉得挺不错的,现在就
2023-06-02

利用Python获取赶集网招聘信息前篇

如何获取一个网站的相关信息,获取赶集网的招聘信息,本文为大家介绍利用python获取赶集网招聘信息的关键代码,供大家参考,具体内容如下import re import urllib import urllib.request #获取赶集网数
2022-06-04

Python中怎么利用网络爬虫获取招聘信息

Python中怎么利用网络爬虫获取招聘信息,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、定义一个class类继承object,定义init方法继承self,
2023-06-16

利用python抓取网页图片

近期在家想看华为官方的【IP,图话技术,微图】系列文档,奈何家里是长宽,基本打不开页面,刷新多次,心力憔悴。▎下图感受下:    突然想起上次华为云大会送了台云服务器,一直被我用来做linux实验机。于是,突发奇想,利用python下载图片
2023-01-31

Python如何处理中国地区信息

本篇文章为大家展示了Python如何处理中国地区信息,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.1数据的爬取代码:import pandas as pddata=pd.read_csv("ex
2023-06-22

信息处理员怎么考?软考信息处理技术员考试报名网站是什么?

信息处理员怎么考?软考信息处理技术员考试报名网站是什么?软考信息处理技术员采用机考的方式进行,报名条件不限学历、资历和年龄。软考信息处理技术员考试报名网站为中国计算机技术职业资格网,考生须在规定时间完成报名工作。
信息处理员怎么考?软考信息处理技术员考试报名网站是什么?
2024-07-09

利用 JavaScript 事件处理,打造交互性十足的网页

利用 JavaScript 事件处理,您可以轻松地为网页元素添加交互功能,使网页更加生动有趣。本文将介绍如何使用 JavaScript 事件处理来创建交互式网页,并提供一些有趣的示例代码。
利用 JavaScript 事件处理,打造交互性十足的网页
2024-02-22

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录