基於python的統計公報關鍵資料爬取

2022-06-15 22:21:21 字數 1940 閱讀 7837

#

-*- coding: utf-8 -*-

"""created on wed nov 8 14:23:14 2017

@author: 123

"""import

requests

'''from bs4 import beautifulsoup

import traceback

'''import

reimport

urllib

import

random

'''用於獲取html源**

'''def

gethtmltext(url):

try:

r = requests.get(url , timeout = 30)

r.raise_for_status()

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

defwrite_into(real_title,real_text):

f = open(real_title,'w'

) f.write(real_text)

f.close()

deftest(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)

defmain():

url = "

"html =gethtmltext(url)

title = re.search('.*'

,html)

'''獲取html的title資訊,即excel**中的資料**

'''real_title = title.group().strip("")

real_text =getrealtext(html)

write_into(real_title,real_text)

test(real_text)

main()

能夠實現基於給出的網頁連線爬取html後 進行正文內容的提取(測試網頁反應情況良好)

通過正規表示式匹配左右給定的字串,可以獲取對應的數字。

通過設定左右字串分別為」地區生產總值「和」億元「,可以爬取出地區生產總值為1576.69 

目前存在的問題:

2.在本樣例中不能準確的爬取出地方公共財政預算收入,因為正文包括 全市地方公共財政預算收入和市本級地方公共財政預算收入,正則不能很好的區分兩者的區別,根據貪婪原則,本次測試爬取了較後的市本級一般公共預算收入,與預期不符。

python文字統計 基於Python的文字統計

給定任意的文字檔案,統計檔案中的文字資訊。wordstats.py 包含所有要保留的字符集 keep def normalize s 將字串轉化成標準字元 result for c in s.lower if c in keep result c return result def make fre...

分析 統計模組 關鍵字的統計

這段sql 是用來統計 關鍵字的,其中關鍵字劃分兩種狀態,存在幾個問題 關鍵字可能出現亂碼,解決方法案有兩個 重新把原始資料編碼 對出現亂碼的捨去 我選擇第 種方案,因為不正確資料量不會造成統計影響 判斷是否是漢字的方法 方法一public boolean vd string str return ...

基於視窗的實時統計

實時資料是無邊界的,即不斷地有資料輸入,但我們的統計一般是有時間範圍的,離線統計以年月日為統計週期,最小能到小時週期,如果是分鐘甚至秒級別計算,則可認為是實時計算,我們把實時資料流按時間段分割成乙個個視窗,則可基於視窗進行資料統計。我司開源pike支援三種視窗,結合各種udaf,通過sql就能能實現...