基于python的统计公报关键数据爬取
# -*- coding: utf-8 -*-
"""
Created on Wed Nov 8 14:23:14 2017 @author: 123
""" import requests
'''from bs4 import BeautifulSoup
import traceback'''
import re
import urllib
import random '''用于获取HTML源代码'''
def getHTMLText(url):
try:
r = requests.get(url , timeout = 30) r.raise_for_status()
r.encoding = r.apparent_encoding
return r.text
except:
return "ERROR!" '''通过去除标签获取HTML源代码中的正文信息'''
def getRealText(html):
dre = re.compile(r'<[^>]+>',re.S)
real_Text = dre.sub('',html)
'''print(real_Text)'''
return real_Text def write_into(real_Title,real_Text):
f = open(real_Title,'w')
f.write(real_Text)
f.close() def test(real_Text):
GDP = re.findall(".*地区生产总值(.*?)亿元.*",real_Text)
for x in GDP:
print(x)
'''通过正则表达式匹配出地区生产总值和亿元之间的数字,即excel表格中的数值''' get = re.findall(".*地方公共财政预算收入(.*?)亿元.*",real_Text)
for x in get:
print(x) def main():
url = "http://xxgk.xiaogan.gov.cn/xxgk/jcms_files/jcms1/web30/site/art/2017/4/1/art_5130_17454.html"
html = getHTMLText(url)
Title = re.search('<title>.*</title>',html)
'''获取html的title信息,即excel表格中的数据来源'''
real_Title = Title.group().strip("</title>") real_Text = getRealText(html)
write_into(real_Title,real_Text) test(real_Text)
main()
能够实现基于给出的网页连接爬取html后 进行正文内容的提取(测试网页反应情况良好)

通过正则表达式匹配左右给定的字符串,可以获取对应的数字。

通过设定左右字符串分别为”地区生产总值“和”亿元“,可以爬取出地区生产总值为1576.69
目前存在的问题:
1. 设想通过excel直接生成搜索关键词,并自动进行百度搜索 获取带有gov后缀的网站链接进行自动爬取,但是现在发现,通过百度爬取的网站链接被百度加密,没有很好可用的方法进行加密链接破解。
2.在本样例中不能准确的爬取出地方公共财政预算收入,因为正文包括 全市地方公共财政预算收入和市本级地方公共财政预算收入,正则不能很好的区分两者的区别,根据贪婪原则,本次测试爬取了较后的市本级一般公共预算收入,与预期不符。
基于python的统计公报关键数据爬取的更多相关文章
- 基于python的统计公报关键数据爬取 update
由于之前存在的难以辨别市本级,全市相关数据的原因,经过考虑采用 把含有关键词的字段全部提取进行人工辨别的方法 在其余部分不改变的情况下,更改test部分 def test(real_Title,rea ...
- python爬虫-上期所持仓排名数据爬取
摘要:笔记记录爬取上期所持仓数据的过程,本次爬取使用的工具是python,使用的IDE是pycharm 一.查看网页属性,分析数据结构 在浏览器中打开上期所网页,按F12或者选择表格文字-右键-审查元 ...
- 2019基于python的网络爬虫系列,爬取糗事百科
**因为糗事百科的URL改变,正则表达式也发生了改变,导致了网上许多的代码不能使用,所以写下了这一篇博客,希望对大家有所帮助,谢谢!** 废话不多说,直接上代码. 为了方便提取数据,我用的是beaut ...
- 芝麻HTTP:JavaScript加密逻辑分析与Python模拟执行实现数据爬取
本节来说明一下 JavaScript 加密逻辑分析并利用 Python 模拟执行 JavaScript 实现数据爬取的过程.在这里以中国空气质量在线监测分析平台为例来进行分析,主要分析其加密逻辑及破解 ...
- requests模块session处理cookie 与基于线程池的数据爬取
引入 有些时候,我们在使用爬虫程序去爬取一些用户相关信息的数据(爬取张三“人人网”个人主页数据)时,如果使用之前requests模块常规操作时,往往达不到我们想要的目的,例如: #!/usr/bin/ ...
- requests模块处理cookie,代理ip,基于线程池数据爬取
引入 有些时候,我们在使用爬虫程序去爬取一些用户相关信息的数据(爬取张三“人人网”个人主页数据)时,如果使用之前requests模块常规操作时,往往达不到我们想要的目的. 一.基于requests模块 ...
- Python爬虫 股票数据爬取
前一篇提到了与股票数据相关的可能几种数据情况,本篇接着上篇,介绍一下多个网页的数据爬取.目标抓取平安银行(000001)从1989年~2017年的全部财务数据. 数据源分析 地址分析 http://m ...
- 人人贷网的数据爬取(利用python包selenium)
记得之前应同学之情,帮忙爬取人人贷网的借贷人信息,综合网上各种相关资料,改善一下别人代码,并能实现数据代码爬取,具体请看我之前的博客:http://www.cnblogs.com/Yiutto/p/5 ...
- python实现人人网用户数据爬取及简单分析
这是之前做的一个小项目.这几天刚好整理了一些相关资料,顺便就在这里做一个梳理啦~ 简单来说这个项目实现了,登录人人网并爬取用户数据.并对用户数据进行分析挖掘,终于效果例如以下:1.存储人人网用户数据( ...
随机推荐
- 开启第一个Node.js的Express项目
手动创建一个Express.js的应用可大致分为以下步骤: 1.创建文件夹 a. 创建一个项目根文件夹,如helloWord b.在项目的根目录下创建项目的目录结构,依次创建{public,publi ...
- 鹅厂优文 | 决策树及ID3算法学习
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~. 作者:袁明凯|腾讯IEG测试开发工程师 决策树的基础概念 决策树是一种用树形结构来辅助行为研究.决策分析以及机器学习的方式,是机器学习中的 ...
- ServiceFabric极简文档-0. ServiceFabric简介
前言: 最近ServiceFabric开源了,大家热情都比较高,官方文档大而全,但快速入手不容易找到头绪.发几篇极简的文档,跟大家分享一下,顺便为Ray的ServiceFabric部署做一下铺垫.因为 ...
- jmeter--简单的接口测试(GET/POST)
最近在学习接口测试,本文就简单的谈一谈对接口相关知识的理解. 一.什么是接口? 程序接口:由一套陈述.功能.选项.其它表达程序结构的形式.以及程序师使用的程序或者程序语言提供的数据组成(百度百科定义) ...
- table_rows查询优化
日常应用运维工作中,Dev或者db本身都需要统计表的行数,以此作为应用或者维护的一个信息参考.也许很多人会忽略select count(*) from table_name类似的sql对数据库性能的影 ...
- ArrayList源码解析(JDK1.8)
package java.util; import sun.misc.SharedSecrets; import java.util.function.Consumer; import java.ut ...
- js对象系列【一】深层理解对象与原型
我们先从盘古开天辟地时捋一捋对象: 从宏观内容来讲,javascript是一个属性的集合,包括值,函数,而整个集合也可以类比为一个对象. js = { a的变量名: a的值, ... 函数b: fun ...
- Object的方法
1.Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象.它将返回目标对象. ES2015引入的 ,且可用polyfilled.要支持旧浏览器的话,可用使用jQ ...
- Vue解析四之注册变量
判断监听的变量,如果undefined可以用$set来注册一个变量. 另外click可以是表达式,不一定必须是一个方法.
- AngularJS复习-----内置过滤器和内置服务
AngularJS中的内置服务(共30多个): $http 发送http请求,主要用于进行异步数据请求的功能实现,这个服务主要封装了XMLHttpRequest对象和JSONP数据访问模式来完成远程请 ...