五月丁香婷婷爱,在线视频 日韩精品 欧美 都市,偷拍自拍A V,久久高潮日本

文史論文

您當前的位置:發(fā)表學術論文網文史論文》 熱銷圖書爬取數據的BeautifulSoup庫解析> 正文

熱銷圖書爬取數據的BeautifulSoup庫解析

所屬分類:文史論文 閱讀次 時間:2021-05-17 10:30

本文摘要:摘要BeautifulSoup庫是python語言關于網絡爬蟲爬取頁面解析的第三方庫。它能根據html、xml以及html5lib語法建立解析樹,進而高效解析網頁內容。本文從基本元素、網頁內容遍歷提取方法入手介紹BeautifulSoup庫的工作原理,并結合電商平臺最新的圖書銷售數據為

  摘要BeautifulSoup庫是python語言關于網絡爬蟲爬取頁面解析的第三方庫。它能根據html、xml以及html5lib語法建立解析樹,進而高效解析網頁內容。本文從基本元素、網頁內容遍歷提取方法入手介紹BeautifulSoup庫的工作原理,并結合電商平臺最新的圖書銷售數據為實例,進行爬取信息的解析展示。

  關鍵詞網絡爬蟲;網頁解析;BeautifulSoup庫

數據庫解析

  1引言

  BeautifulSoup庫是python語言的第三方爬蟲解析庫。它提供了簡單便捷的python式函數來處理復雜的Web頁面的分析需求,是解析、遍歷、維護標簽樹的功能庫。BeautifulSoup庫不僅支持html,還支持lxml以及htnl5lib解析器。通過解析文檔為用戶爬取有價值的數據,大大節(jié)省開發(fā)時間,成為廣受歡迎的網頁解析工具之一[1]。

  2BeautifulSoup庫的使用

  利用爬蟲獲取網頁信息,就是從html代碼中抽取我們需要的信息。html代碼由眾多標簽組成。BeautifulSoup庫的主要功能就是精確定位標簽以及從標簽中提取內容[2]。

  2.1BeautifulSoup庫的基本元素

  BeautifulSoup庫可以將html文檔轉換為一個復雜的樹形結構,每個節(jié)點就是一個對象,所有對象可以歸納為4類:(1)Tag對象:每一個html文檔中的Tag標簽就是BeautifulSoup庫一個對象。(2)NavigableString對象:Tag對象的內部文本節(jié)點,可以通過Tag.string返回該對象。(3)BeautifulSoup對象:通過類的實例化BeautifulSoup對象可以將html文檔轉換為一個樹形結構,以表示html的文檔結構。(4)Comment對象:返回注釋標簽的文本節(jié)點,是NavigableString對象的子類。

  2.2BeautifulSoup庫的信息提取方法

  BeautifulSoup對象作為一棵html標簽樹,存在眾多由標簽對象及非屬性字符串組成的節(jié)點[3]。由于節(jié)點的非線性結構,相對于它所在的位置,使得它與其他節(jié)點構成了上下、平行關系,從而衍生出該節(jié)點的父節(jié)點、子節(jié)點、兄弟節(jié)點的上行遍歷、下行遍歷和平行遍歷。節(jié)點的下行遍歷可以通過子孫節(jié)點實現。.contents屬性可將所有子節(jié)點以列表的方式輸出,通過.children生成器,可對所有子孫節(jié)點進行遍歷。節(jié)點的上行遍歷可以通過父輩節(jié)點實現,.parent屬性可將所有父節(jié)點以列表的方式輸出,通過.parents生成器,可對所有父輩節(jié)點進行遍歷。節(jié)點的平行遍歷可通過兄弟節(jié)點實現,.next_sibling屬性獲取了該節(jié)點的下一個兄弟節(jié)點。.

  previous_sibling則與之相反,如果節(jié)點不存在,則返回None,兄弟節(jié)點的平行遍歷要求兩節(jié)點需為同級節(jié)點,即屬于同一個父節(jié)點。對標簽樹符合指定內容的節(jié)點遍歷則需要配合搜索方法共同作用,BeautifulSoup庫提供了8種信息查找和獲取方法,其中使用最廣泛的是利用find_all()方法搜索標簽樹[4]。find_all(name,attrs,recursive,text,**kwargs)方法搜索當前tag的所有子節(jié)點,并判斷是否符合過濾器的條件。

  經濟論文投稿刊物:《經濟數學》(季刊)創(chuàng)刊于1984年,主要刊登數量經濟學、數理經濟學、計量經濟學、經濟對策論、經濟控制論、經濟預測與決策和經濟應用數學領域中創(chuàng)造性的研究成果。本刊現為季刊,向國內外公開發(fā)行。

  3電商平臺圖書熱銷數據的爬取解析

  各大電商平臺的商品成交數據蘊含大量的有用信息。本文以京東平臺2020年10月份的圖書銷售信息為依據,利用python的requests庫和BeautifulSoup庫爬取并解析出該時段京東圖書銷售榜的top100條信息,以幫助用戶獲取最新熱門圖書資源。

  (1)數據爬取。在數據爬取之前先閱讀京東網站的網絡robots協(xié)議,出于數據保護考量,網站對爬蟲訪問進行了反爬設置,需要修改網絡請求頭中的user-agent為合法瀏覽器。然后利用requests庫GET方法對目標網頁進行爬取,從而獲得當前頁面的html文件。defaskURL(url):head={"user-agent":"Chrome"}r=requests.get(url,headers=head)r.raise_for_status()r.encoding=r.apparent_encodinghtml=r.textreturnhtml

  (2)數據解析。利用requests庫爬取的是整個網頁的html文檔,其中大部分數據并不是我們想要的圖書熱銷信息,利用BeautifulSoup庫進行有價值數據的解析提取,通過建立soup對象,利用find_all("div",class_="p-detail")找到逐條的熱銷圖書信息,并進行數據清洗,只保留圖書名稱、作者以及出版社信息,存儲為列表數據。defgetData(html):html=askURL(url)soup=BeautifulSoup(html,"html.parser")data=[]foriteminsoup.find_all("div",class_="p-detail"):aset=item.find_all("a")data.append([aset[0].attrs['title'],"\t作者"+aset[1].attrs['title'],"\t"+aset[2].attrs['title']])returndata

  (3)數據保存。將解析完成的數據,加以編號,存放到本地,編碼方式設置為utf-8,以免出現亂碼[5]。defsaveData(datalist,savepath):withopen(savepath,"w",encoding="utf-8")asf:fordataindatalist:forlineindata:f.writelines(line)f.write("\n\n")return

  參考文獻

  [1]蘇旋.分布式網絡爬蟲技術的研究與實現[碩士學位論文].哈爾濱工業(yè)大學,哈爾濱,2012

  [2]夏敏捷,楊關,等.Python程序設計-從基礎到開發(fā).北京:清華大學出版社,2017

  [3]嵩天,禮欣,黃天羽.Python語言程序設計基礎.第2版.北京:高等教育出版社,2017

  [4]郭麗蓉.基于Python的網絡爬蟲程序設計.電子技術與軟件工程,2017(23):248-249

  [5]魏倩男,賀正楚,陳一鳴.基于網絡爬蟲的京東電商平臺數據分析.經濟數學,2018,35(1):77-85

  作者:鞠慧

轉載請注明來自發(fā)表學術論文網:http://m.liangshanbai.cn/wslw/26786.html

www.久做| 色 亚洲一区二区| 成人激情视频中文字幕| 日韩免費一区二区三区| 伊人久我综合| …AV天天干| 日本精品看黄色| 92国产免费福利 视频| 亚洲hs精品在线| 熟女偷啪视频| 呆哥少妇久久| 午夜高清欧美成人网站| 久久久综合人妻少妇| 世界无码av一区二区| 囯产精品999| 吃奶操鸡巴| 久久97久久97| 在线免费观看AV性感网站| 亚洲综合图区三区| 婷婷五月天无码AV| 成人影视日本一区| 国产日韩欧美成人在线免费| 中文字幕在线亚洲不卡| japanese视频偷拍区| 日本老熟妇毛茸茸| 日韩无码精品乱码| 国产精丰满熟妇交尾| 欧美品色超碰| 日产美产国产一区黄片| 久热亚洲精品| 迷奸日B视频| 黄色频道成人免费观看视频| 被窝午夜福利视频| 老司机一区二区三区在线视频| 台湾色色热综合网| 日韩午夜服务| ◇av一区二区三区| 天天干天天日天天射天天草| 亚洲人视频在线观看量www| 欧美性猛交XXXX免费看漫画| 91精品国产综合密臂|