999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

利用Python網(wǎng)絡(luò)爬蟲技術(shù)追蹤時(shí)事熱點(diǎn)

2019-04-18 07:44:42廖澤龍王昊源劉紫嫣
智富時(shí)代 2019年2期
關(guān)鍵詞:頁面數(shù)據(jù)庫利用

廖澤龍 王昊源 劉紫嫣

【摘 要】互聯(lián)網(wǎng)時(shí)代,信息復(fù)雜多樣,查找一件新聞事件的所有報(bào)道,時(shí)常難以以時(shí)間順序正常游覽所有報(bào)道,給讀者帶來不好的閱讀體驗(yàn),部分新聞事件經(jīng)過一段時(shí)間發(fā)展后會(huì)被人遺忘,使得不少人只知新聞早期報(bào)道,而不知后續(xù)發(fā)展。“新聞時(shí)間軸自動(dòng)化”是一個(gè)基于Python爬蟲的項(xiàng)目,該項(xiàng)目可自動(dòng)或人工創(chuàng)建新聞詞條,利用Python網(wǎng)絡(luò)爬蟲技術(shù)獲取“新聞詞條”的收錄權(quán)威信息,并可根據(jù)信息內(nèi)容的發(fā)布時(shí)間報(bào)道順序自動(dòng)建立起新聞的時(shí)間軸,從而方便讀者閱讀新聞及理清邏輯。

【關(guān)鍵詞】Pyhton;requests庫;BeautifulSoup庫;MySQLdb模塊;網(wǎng)絡(luò)爬蟲

1.相關(guān)技術(shù)簡介

1.1 requests庫和BeautifulSoup庫

requests是Python第三方工具包,是實(shí)現(xiàn)爬蟲所常用的HTTP庫,主要用于自動(dòng)爬取HTML頁面,自動(dòng)網(wǎng)絡(luò)請求提交等。

BeautifulSoup是一個(gè)非常流行的Python第三方工具包,可實(shí)現(xiàn)解析網(wǎng)頁,并提供定位內(nèi)容的便捷接口。利用它不用編寫正則表達(dá)式也能方便的實(shí)現(xiàn)網(wǎng)頁信息的抓取,利用BeautifulSoup編寫的代碼雖然有時(shí)比正則表達(dá)式復(fù)雜,但其更容易構(gòu)造和理解,也無需擔(dān)心類似多余的空格和標(biāo)簽屬性這種布局上的小變化。Beautiful Soup支持Python標(biāo)準(zhǔn)庫中的HTML解析器,還支持一些第三方的解析器,如果我們不安裝它,則 Python 會(huì)使用 Python默認(rèn)的解析器。

在Python網(wǎng)絡(luò)爬蟲中,以上兩個(gè)庫通常結(jié)合使用,requests庫實(shí)現(xiàn)自動(dòng)爬取頁面 源代碼,再通過BeautifulSoup庫在頁面源代碼中定向提取所需要的內(nèi)容。[1]

2.“新聞時(shí)間軸自動(dòng)化”的設(shè)計(jì)

第一步:在云服務(wù)器下通過Python爬蟲程序獲取新聞事件的關(guān)鍵詞;第二步,以關(guān)鍵詞為線索開始自動(dòng)化的定向爬取工作,從而獲取關(guān)于目標(biāo)事件的權(quán)威報(bào)道;第三步:將爬取到的內(nèi)容按一定順序和編碼導(dǎo)出至數(shù)據(jù)庫或緩存到云服務(wù)器中;第四步:借助Python或JSP等方法連接數(shù)據(jù)庫并將數(shù)據(jù)庫或緩存到云服務(wù)器中的數(shù)據(jù)輸出到頁面上,從而完成新聞時(shí)間軸。

3.“新聞時(shí)間軸自動(dòng)化”的實(shí)現(xiàn)

3.1獲取新聞事件的關(guān)鍵詞

通過分析百度的“搜索風(fēng)云榜”或新浪微博的“實(shí)時(shí)熱搜榜”頁面源代碼,建立定向爬蟲,從而獲得新聞詞條的關(guān)鍵詞;以百度的“搜索風(fēng)云榜”為例,該網(wǎng)頁的網(wǎng)址為:http://top.baidu.com/buzz?b=341&c=513&fr=topbuzz_b1_c513,通過分析其頁面源代碼可知新聞事件關(guān)鍵詞都位于一個(gè)

標(biāo)簽下,在
標(biāo)簽下,每個(gè)標(biāo)簽對應(yīng)一個(gè)我們需要獲取的新聞事件的關(guān)鍵詞。利用requests庫的requests.get()函數(shù)把頁面所有信息爬取下來,通過以上的觀察來設(shè)定來BeautifulSoup庫中find()函數(shù)的查找對象,繼而獲取關(guān)鍵詞。為了使后續(xù)爬蟲獲取信息更加豐富和精確,可使用Python結(jié)巴分詞對所獲關(guān)鍵詞進(jìn)行搜索模式的切分。

3.1.1主要代碼:

以爬取百度“搜索風(fēng)云榜”關(guān)鍵詞為例:

#創(chuàng)建空列表,用于儲(chǔ)存詞條

tops = []

#創(chuàng)建空列表,用于儲(chǔ)存關(guān)鍵詞

keywords = []

url = 'http://top.baidu.com/buzz?b=341&c=513&fr=topbuzz_b1_c513'

#獲得url信息,設(shè)置40秒超時(shí)時(shí)間

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

#失敗請求(非200響應(yīng))拋出異常

r.raise_for_status()

#根據(jù)內(nèi)容分析出的編碼方式,備選編碼;

r.encoding = r.apparent_encoding

#獲得的HTML文本

html = r.text

#對獲得的文本進(jìn)行html解析,查找

內(nèi)的信息

table = BeautifulSoup(html,"html.parser").find("table")

for words in table.find_all("a"):

if words.string !='search' and words.string !='新聞' \

and words.string !='視頻'and words.string !='圖片':

tops.append(words.string)

else:

continue

topsList = jieba.cut_for_search(tops[3])

#分關(guān)鍵詞(搜索模式)

keywords.append(" ".join(topsList))

3.2獲取權(quán)威新聞報(bào)道:

以3.1爬取的關(guān)鍵詞為目標(biāo),通過與3.1.1類似的操作來定向爬取權(quán)威新聞網(wǎng)站的相關(guān)報(bào)道,為方便后續(xù)的數(shù)據(jù)展示,可按需增加爬取內(nèi)容,如:標(biāo)題、內(nèi)容、發(fā)布時(shí)間、網(wǎng)址等……

3.2.1主要代碼:

以爬取關(guān)鍵詞在“澎湃新聞”中的相關(guān)報(bào)道為例:

#創(chuàng)建空列表,用于儲(chǔ)存新聞標(biāo)題

newsTitles = []

#創(chuàng)建空列表,用于儲(chǔ)存新聞發(fā)布時(shí)間

newsTime = []

#創(chuàng)建空列表,用于儲(chǔ)存新聞頁面網(wǎng)址

newsUrls = []

pengpaiSearUrl = https://www.thepaper.cn/searchResult.jsp?inpsearch={nnnew}

#設(shè)置新聞關(guān)鍵詞,以“長春長生”為例

testString="長春長生"

#利用format()函數(shù)設(shè)定爬取的關(guān)鍵詞

pengpaiNews = pengpaiSearUrl.format(nnnew=testString)

nnnew=keywords[0]

print(pengpaiNews)

#獲得url信息,設(shè)置60秒超時(shí)時(shí)間

r = requests.get(pengpaiNews, timeout=60)

r.raise_for_status()

r.encoding = r.apparent_encoding

#獲得的HTML文本

html = r.text

print(html)

#對獲得的文本進(jìn)行html解析,查找id='mainContent'

h2 = BeautifulSoup(html,"html.parser").find(id='mainContent')

for aimNews in h2.find_all('h2'):

newsTitles.append(aimNews.getText())

print(newsTitles)

#獲取新聞的扼要和時(shí)間

for aimUrls in h2.find_all('a', href=True):

if aimUrls.get_text(strip=True):

if len(aimUrls['href'])>10:

newsUrls.append(pengpaiUrl+aimUrls['href'])

r = requests.get(pengpaiUrl+aimUrls['href'], timeout=40)

r.raise_for_status()

r.encoding = r.apparent_encoding

herfHtml = r.text

#print(herfHtml)

aimTime=BeautifulSoup(herfHtml,"html.parser").find

(class_="news_about")

if aimTime!=None:

htmlTime=aimTime.getText()

#利用正則表達(dá)式匹配時(shí)間

mat = re.search(r"(\d{4}-\d{1,2}-\d{1,2}\s\d{1,2}:\d{1,2})",htmlTime)

newsTime.append(mat.group(0))

else:

newsTime.append("視頻(error)")

3.3數(shù)據(jù)存儲(chǔ):

數(shù)據(jù)存儲(chǔ)有多種方式,其中有兩種常用的方法——寫入數(shù)據(jù)庫或?qū)懭隿sv文件。寫入數(shù)據(jù)庫的大致方法如下:第一步,利用Python的第三方庫pymysql庫連接MySQL數(shù)據(jù)庫,在指定數(shù)據(jù)庫下創(chuàng)建表;[2]第二步,將3.1、3.2爬取到的數(shù)據(jù)寫入創(chuàng)建的表中。

3.4數(shù)據(jù)顯示:

在Web服務(wù)器上,先利用JSP連接數(shù)據(jù)庫,讀取指定數(shù)據(jù)庫中的數(shù)據(jù),將數(shù)據(jù)輸出至已編寫好的JSP頁面中,最后將JSP文件保存在網(wǎng)站服務(wù)器的指定目錄,完成上述操作后數(shù)據(jù)即可顯示在相應(yīng)頁面上,從而自動(dòng)生成新聞時(shí)間軸。

4.總結(jié)

近幾年,Python網(wǎng)絡(luò)爬蟲十分流行,發(fā)展迅速,目前已有多種Python爬蟲平臺(tái),如Scrapy、Crawley。“新聞時(shí)間軸自動(dòng)化”項(xiàng)目利用Python標(biāo)準(zhǔn)庫與第三方庫,實(shí)現(xiàn)在無人監(jiān)督的條件下對時(shí)事熱點(diǎn)的自動(dòng)搜索與收錄,圍繞著熱點(diǎn)搜索和爬取權(quán)威報(bào)道,并對得到的數(shù)據(jù)進(jìn)行展示,整個(gè)過程簡單,移植性強(qiáng),對環(huán)境等要求不高。

【參考文獻(xiàn)】

[1].Beautiful Soup 4.2.0 文檔[EB/OL].https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/.

[2].Python3 MySQL 數(shù)據(jù)庫連接[EB/OL].http://www.runoob.com/python3/

python3-mysql.html.

猜你喜歡
頁面數(shù)據(jù)庫利用
大狗熊在睡覺
刷新生活的頁面
利用min{a,b}的積分表示解決一類絕對值不等式
利用一半進(jìn)行移多補(bǔ)少
利用數(shù)的分解來思考
Roommate is necessary when far away from home
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
主站蜘蛛池模板: 2021国产乱人伦在线播放| 久久福利片| 欧美精品一区二区三区中文字幕| 国产新AV天堂| 久久无码av三级| 亚洲成AV人手机在线观看网站| 试看120秒男女啪啪免费| 片在线无码观看| 国产原创第一页在线观看| 日韩无码黄色| 国产精品一区二区久久精品无码| 成人一区专区在线观看| 国产午夜在线观看视频| 久久婷婷国产综合尤物精品| 二级毛片免费观看全程| 国产福利影院在线观看| 国产乱论视频| 日韩精品亚洲人旧成在线| 亚洲一级毛片在线观播放| 国产一级精品毛片基地| 成人福利免费在线观看| 亚洲天堂777| 人人爱天天做夜夜爽| 91成人试看福利体验区| 国产一区二区丝袜高跟鞋| 成年A级毛片| 欧美日韩在线国产| 女人爽到高潮免费视频大全| 国产高潮视频在线观看| 国产不卡网| 欧美日韩中文字幕在线| a毛片在线| 免费AV在线播放观看18禁强制| 婷婷色丁香综合激情| 911亚洲精品| 九一九色国产| 国产69精品久久久久妇女| 日本人又色又爽的视频| 国产91视频免费| 88国产经典欧美一区二区三区| 亚洲经典在线中文字幕| 国产精品理论片| 国产美女一级毛片| 成年人久久黄色网站| 免费激情网址| 特级毛片免费视频| 亚洲欧美一区二区三区麻豆| 无码一区二区波多野结衣播放搜索| 免费国产不卡午夜福在线观看| 亚洲熟女中文字幕男人总站| 日韩精品久久无码中文字幕色欲| 美女免费精品高清毛片在线视| 中美日韩在线网免费毛片视频| 国产无码在线调教| 久久久久中文字幕精品视频| 欧美天天干| 欧美午夜在线视频| 制服无码网站| 欧美人在线一区二区三区| 日韩av手机在线| 国产在线精品香蕉麻豆| 国产无码精品在线| 99资源在线| 自拍偷拍欧美日韩| AⅤ色综合久久天堂AV色综合| 好吊色妇女免费视频免费| 在线观看国产小视频| 国产精品自在线天天看片| 国产大全韩国亚洲一区二区三区| 熟妇无码人妻| 在线欧美国产| 日本精品影院| 国产午夜无码片在线观看网站 | 亚洲无码视频喷水| 久久综合激情网| 狠狠色噜噜狠狠狠狠奇米777| 亚洲天堂首页| 亚洲欧美日韩精品专区| 国产亚洲欧美另类一区二区| 久久国产精品波多野结衣| 四虎AV麻豆| 2021国产精品自拍|