在我们要对某一种情况进行分析时,需要大批量的数据材料作为分析的基础,在使用python爬取时,就会涉及到不同的抓取方法。在抓取数据的类型时,又会分为不同的情况进行讨论,本篇整理了三种提取数据方法:正则表达式、BeautifulSoup、lxml。下面就这些方法进行详解。

假设我们需要爬取该网页中的国家名称和概况,我们依次使用这三种数据抓取的方法实现数据抓取。

1、正则表达式(re库)

正则表达式通常用于在文本中查找匹配的字符串。Python里数量词默认是贪婪的(在少数语言里也可能是默认非贪婪),总是尝试匹配尽可能多的字符;非贪婪的则相反,总是尝试匹配尽可能少的字符。from get_html import download

import re

url = 'https://guojiadiqu.bmcx.com/AFG__guojiayudiqu/'

page_content = download(url)

country = re.findall('class="h2dabiaoti">(.*?)', page_content) #注意返回的是list

survey_data = re.findall('

(.*?)', page_content)

survey_info_list = re.findall('

  (.*?)

', survey_data[0])

survey_info = ''.join(survey_info_list)

print(country[0],survey_info)

2、BeautifulSoup(bs4)

beautifulSoup是用python语言编写的一个HTML/XML的解析器,它可以很好地处理不规范标记并将其生成剖析树(parse tree)。它提供简单而又常见的导航(navigating),搜索及修改剖析树,此可以大大节省编程时间。from get_html import download

from bs4 import BeautifulSoup

url = 'https://guojiadiqu.bmcx.com/AFG__guojiayudiqu/'

html = download(url)

#创建 beautifulsoup 对象

soup = BeautifulSoup(html,"html.parser")

#搜索

country = soup.find(attrs={'class':'h2dabiaoti'}).text

survey_info = soup.find(attrs={'id':'wzneirong'}).text

print(country,survey_info)

3、lxml

lxml是XML和HTML的解析器,其主要功能是解析和提取XML和HTML中的数据;lxml和正则一样,也是用C语言实现的,是一款高性能的python HTML、XML解析器,也可以利用XPath语法,来定位特定的元素及节点信息。from get_html import download

from lxml import etree #解析树

url = 'https://guojiadiqu.bmcx.com/AFG__guojiayudiqu/'

page_content = download(url)

selector = etree.HTML(page_content)#可进行xpath解析

country_select = selector.xpath('//*[@id="main_content"]/h2') #返回列表

for country in country_select:

print(country.text)

survey_select = selector.xpath('//*[@id="wzneirong"]/p')

for survey_content in survey_select:

print(survey_content.text,end='')

以上就是python提取数据的常用方法,对于每种提取方法而言,在数据的类型上会有所差异,大家可以就这些方法逐次尝试代码部分。

python如何提取数据_python提取数据的常用方法相关推荐

  1. python指定时间范围数据_Python提取特定时间段内数据的方法实例

    Python提取特定时间段内数据的方法实例 发布时间:2020-09-24 05:46:06 来源:脚本之家 阅读:75 作者:淮南草 python提取特定时间段内的数据 尝试一下: data['Da ...

  2. python保存数据_python各数据存储方法

    声明: 1)仅作为个人学习,如有冒犯,告知速删! 2)不想误导,如有错误,不吝指教! 本节内容: 简介 ------------------文件存储------------------ TXT文本存储 ...

  3. python怎么清洗数据_Python分析数据之:清洗数据全攻略

    前两天翻了翻数据分析的招聘简历,看到好多公司在招聘数据分析师的时候,不管前面要求什么,都会在最后加一句:能够会Python是加分项.那Python是有多好用?今儿一篇文章教会你用Python来分析数据 ...

  4. python异常数据_python异常数据预警之3sigma

    3sigma原理一般在工程科学中比较常用,我们在故障预警中用过这个原理,数据是用传感器采集的数据,这些数据假定符合正态分布,然后在进行模型识别后用3sigma原则来对异常数据进行准确定位.在实际应用中 ...

  5. python txt提取特定数据_Python提取列表中的内容 用“python”怎么提取文件里的指定内容?...

    用"python"怎么提取文件里的指定内容? python读取文件内容的方法: 一.最方便的方法是一次性读取文件中的所有内容并放置到一个大字符串中: all_the_text = ...

  6. python怎么筛选excel数据_python筛选数据excel表格-如何利用python提取两个excel对比后的重复值的信息?...

    怎么用python读取excel表格的数据 import xlrd #open the .xls file xlsname="test.xls" book = xlrd.open_ ...

  7. python如何爬虫eps数据_Python爬虫数据提取总结

    原博文 2019-01-24 18:06 − 关于Python的爬虫的一些数据提取的方法总结 第一种 : 正则表达式2. 正则表达式相关注解2.1 数量词的贪婪模式与非贪婪模式2.2 常用方法第二种: ...

  8. python自动获取邮件数据_Python 提取数据库(Postgresql)并邮件发送

    刚入门python,发现确实是一个不错的语言. 业务部门要求将将某一个数据库中的表,定期发送到相关部门人员邮箱. 其实整个业务需求很简单,实现起来也不难. 但是由于刚入门python,所以还是借鉴了不 ...

  9. python提取表里数据_python提取分析表格数据

    #/bin/python3.4 # -*- coding: utf-8 -*- import xlrd def open_excel(file="file.xls"): try: ...

  10. python获取同花顺数据_Python提取Wind数据

    果然是中文编码的问题.搞定了,新鲜出炉一个小脚本.谢谢各位大神的解答. """ @Author: wenrongli @Date: 2014-11-18 @Version ...

最新文章

  1. Embedding external files using [Embed] (转载:学习如何嵌入外部文件)
  2. laravel批量插入报错:1292: Incorrect datetime value: '0000-00-00 00:00:00' for column 'TERM_DATE'
  3. Simulink中From、Goto模块
  4. BugkuCTF-Crypto题Crack it
  5. 【转】Python学习路线
  6. 作为window对象属性的元素 多窗口和窗体
  7. 鸟哥的私房菜Linux 学习笔记之 Bash语法
  8. 淘宝店的图片哪里来的
  9. ee可以有js吗 jvaa_EE今年最后一次邀请,最低分数线468分!2021年的40万新移民指标,你准备好了吗?!...
  10. windows安装node.js和cnpm
  11. Tensorflow编程基础之Mnist手写识别实验+关于cross_entropy的理解
  12. 若依设置匿名访问路径
  13. 干货-Google支付后台验证操作流程【业务后台-GP后台流程】
  14. 怎样在photoshop中把字体加粗并倒影
  15. 大江大河——通信设备商们的2019年
  16. 多传感器融合综述---FOV与BEV
  17. 大连本周气温明显回落 阴云来降温 春雨润万物
  18. DeepLearning: 归纳几种常用的激活函数(activation)
  19. Manifest merger failed with multiple errors, see logs问题解决
  20. GO语言基础进阶教程:sync包——WaitGroup

热门文章

  1. java8 32位脱机安装_java8离线安装包32位 官方最新版
  2. 经典而常用的配乐和背景音乐合集(上)
  3. Google PAI资料整理及实现
  4. mshtml 解析html c,使用MSHTML解析HTML代码
  5. 关于MSHTML、IHTMLDocument、Ihtmldocument2-5的区别及 document.execCommand方法详解
  6. C#+.Net使用RemObjects建立客户端服务端
  7. 如何在html中加入音效,JavaScript / HTML5中的音效
  8. JAVA贪吃蛇(简易版)
  9. 使用Nero6刻录软件刻录光盘镜像
  10. 灵悟礼品网上专卖店——分析类似项目的优缺点