#能夠實現基於給出的網頁連線爬取html後 進行正文內容的提取(測試網頁反應情況良好)-*- 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:
(x)
'''通過正規表示式匹配出地區生產總值和億元之間的數字,即excel**中的數值
'''get = re.findall("
.*地方公共財政預算收入(.*?)億元.*
",real_text)
for x in
get:
(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()
通過正規表示式匹配左右給定的字串,可以獲取對應的數字。
通過設定左右字串分別為」地區生產總值「和」億元「,可以爬取出地區生產總值為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就能能實現...