基于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.存储人人网用户数据( ...
随机推荐
- linux修改时区
Linux修改时区 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任 CentOS6: 查看以前的时区: [root@localhost mysq ...
- C语言第十次博客作业--结构体
一.PTA实验作业 题目1: 结构体数组按总分排序 1. 本题PTA提交列表 2. 设计思路 求出每名学生的总分 定义i,j循环变量 for i=0 to n for j=0 to 3 p[i].su ...
- Django+xadmin打造在线教育平台(四)
七.授课机构功能 7.1.模板继承 (1)创建母板 把org-list.html拷贝到templates目录下,新建base.html,剪切org-list.html内容到里面 再修改一下静态文件的地 ...
- IT连创业系列:产品设计之答题模块
前言: 距上篇写完:IT连创业系列:新的一年,先淫文一篇! 转眼又两个星期了,今天不写文,估计大伙又得等两周了. 所以啊~~ 只能再努力一点了,花一天半天的,继续和大伙分享这让人心碎的创业历程. 这两 ...
- StringBUffer和StringBuilder详解
一.StringBUffer public final class StringBUffer extends Object implements Serializable,CharSequnc ...
- wipefs进程
wipefs进程是啥,占用了百分之90多的cpu wipefs进程是啥,占用了百分之90多的cpu,把这个进程干掉了,过了一天又自动启动了,很多朋友应该遇到过类似的问题. wipefs是linux自带 ...
- [poj3349]Snowflake Snow Snowflakes_hash
Snowflake Snow Snowflakes poj-3349 题目大意:给出n片雪花,每片雪花有6个角,每个角有一个权值.如果两片雪花中能够各选出一个点,使得从该点顺时针或者逆时针转,得到的权 ...
- 测试驱动开发实践2————从testList开始
内容指引 1.测试之前 2.改造dto层代码 3.改造dao层代码 4.改造service.impl层的list方法 5.通过testList驱动domain领域类的修改 一.测试之前 在" ...
- 解决C盘中的文件不能修改问题
在不能修改的文件右击属性>点击安全>编辑>点击用户>完全控制. 步骤如图: 最后点击确定.
- PHP-CGI,FASTcgi,php-fpm,之间的关系?
刚开始对这个问题我也挺纠结的,看了<HTTP权威指南>后,感觉清晰了不少.首先,CGI是干嘛的?CGI是为了保证web server传递过来的数据是标准格式的,方便CGI程序的编写者. ...