日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

BeautifulSoup库的使用

發布時間:2025/7/14 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BeautifulSoup库的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
使用pip install beautifulsoup4http://python123.io/ws/demo.html
  • from bs4 import BeautifulSoup
  • import requests
  • r = requests.get("http://python123.io/ws/demo.html")
  • print r.text
  • print BeautifulSoup(r.text,'html.parser').prettify()
  • BeautifulSoup的基本元素BS4庫是解析,遍歷,維護“標簽樹”的功能庫BeautifulSoup庫 指代一個標簽樹BeautifulSoup庫對應于一個HTML或XML文檔的全部內容BS庫的解析器
    解析器使用方法條件
    bs4的HTML解析器BeautifulSoup(mk,'html.parser')安裝bs4庫
    lxml的HTML解析器BeautifulSoup(mk,'lxml')pip install lxml
    lxml的XML解析器BeautifulSoup(mk,'xml')pip install lxml
    html5lib的解析器BeautifulSoup(mk,'html5lib')pip install html5lib
    標簽的基本元素
    基本元素說明
    Tag標簽,最基本的信息組織單元,分別用<>和</>標明開頭和結尾
    Name標簽的名字,<p>...</p>的名字的'p',格式:<tag>.name
    Attributes標簽的屬性,字典形式組織,格式<tag>.attrs
    NavigableString標簽內非屬性字符串,<>...</>中的字符串,格式:<tag>.string
    Comment標簽內字符串的注釋部分,一種特殊的Comment類型<!--comment-->
    titlesoup.<tag>BS庫的HTML文檔的遍歷標簽樹的下行遍歷

    屬性說明
    .contents子節點的列表,將<tag>所有兒子節點存入列表
    .children子節點的迭代類型,與.contents類似,用于循環遍歷兒子的節點
    .descendants子孫節點的迭代類型,包含所有子孫節點,用于循環遍歷
    示例
  • from bs4 import BeautifulSoup
  • import requests
  • r = requests.get("http://python123.io/ws/demo.html")
  • demo = r.text
  • s = BeautifulSoup(demo,'html.parser')
  • print s.prettify()
  • print s.body.contents
  • for child in s.body.children:
  • print(child)
  • for child in s.body.descendants:
  • print(child)
  • 標簽樹的上午遍歷

    屬性說明
    .parent節點的父親標簽
    .parents節點先輩標簽的迭代類型,用于循環遍歷先輩節點
    示例
  • from bs4 import BeautifulSoup
  • import requests
  • r = requests.get("http://python123.io/ws/demo.html")
  • demo = r.text
  • s = BeautifulSoup(demo,'html.parser')
  • print s.prettify()
  • for parent in s.a.parents:
  • if parent is None:
  • print parent
  • else:
  • print parent.name
  • 平行遍歷

    屬性說明
    .next_sibiling返回按照HTML文本順序的下一個平行節點的標簽
    .previous_sililing返回按照HTML文本順序的止一個平行節點的標簽
    .next_sibilings迭代類型,返回按照HTML文本順序的后續所有平行節點的標簽
    .previous_sibilings迭代類型,返回按照HTML文本順序的前續所有平行節點的標簽
    注意:同一父節點的兒子節點才構成平行遍歷的關系信息標記的三種形式HTML語言可以將超文件內容(即聲音,圖片,視頻等內容)嵌入到文本當中XML擴展標記語言實例
    JSON JavaScript Object Notationkey:value鍵值對實例
    YMAL采用無類型的鍵值對來表示信息實例

    標記語言特點應用場景
    XML最早的通用信息標記語言,可擴展性好,但繁瑣Internet上的信息交互與傳遞
    JSON信息有類型,適合程序處理(js),較XML簡潔移動應用云端和節點的信息通信,無注釋
    YAML信息無類型,文本信息比例較高,可讀性較好種類系統的配置文件,有注釋易讀
    結合形式解析和搜索方法,提取關鍵信息XML JSON YAML 搜索需要標記解析器及文本查找函數實例:解析一個文檔中的所有鏈接信息
  • from bs4 import BeautifulSoup
  • import requests
  • r = requests.get("http://python123.io/ws/demo.html")
  • demo = r.text
  • s = BeautifulSoup(demo,'html.parser')
  • for link in s.find_all('a'):
  • print link.get('href')
  • <>.find_all(name,attrs,recursive,string,**kwargs)name: 需要檢索的標簽的名字,可以是列表,是True的話將返回所有的標簽attrs: 要檢索的標簽的屬性值 ,e.g. soup.find_all('p','course') soup.find_all(id='link1')?soup.find_all(id = re.compile(u'link'))recursive: 是否遞歸的檢索子孫后代節點,默認是Truestring: <>...</>中的字符串區域的檢索字符串 soup.find_all(string = re.compile(u'python'))<tag>(...)來代替<tag>.find_all(...)soup.(...)來代替soup.find_all(...)?實例1:中國大學排名的定向爬蟲版本1
  • #CrawUnivRankingA.py
  • import requests
  • from bs4 import BeautifulSoup
  • import bs4
  • def getHTMLText(url):
  • try:
  • r = requests.get(url, timeout=30)
  • r.raise_for_status()
  • r.encoding = r.apparent_encoding
  • return r.text
  • except:
  • return ""
  • def fillUnivList(ulist, html):
  • soup = BeautifulSoup(html, "html.parser")
  • for tr in soup.find('tbody').children:
  • if isinstance(tr, bs4.element.Tag):
  • tds = tr('td')
  • ulist.append([tds[0].string, tds[1].string, tds[3].string])
  • def printUnivList(ulist, num):
  • print("{:^10}\t{:^6}\t{:^10}".format("排名","學校名稱","總分"))
  • for i in range(num):
  • u=ulist[i]
  • print("{:^10}\t{:^6}\t{:^10}".format(u[0],u[1],u[2]))
  • def main():
  • uinfo = []
  • url = 'http://www.zuihaodaxue.cn/zuihaodaxuepaiming2016.html'
  • html = getHTMLText(url)
  • fillUnivList(uinfo, html)
  • printUnivList(uinfo, 20) # 20 univs
  • main()
  • 輸出版本2
  • #CrawUnivRankingB.py
  • import requests
  • from bs4 import BeautifulSoup
  • import bs4
  • def getHTMLText(url):
  • try:
  • r = requests.get(url, timeout=30)
  • r.raise_for_status()
  • r.encoding = r.apparent_encoding
  • return r.text
  • except:
  • return ""
  • def fillUnivList(ulist, html):
  • soup = BeautifulSoup(html, "html.parser")
  • for tr in soup.find('tbody').children:
  • if isinstance(tr, bs4.element.Tag):
  • tds = tr('td')
  • ulist.append([tds[0].string, tds[1].string, tds[3].string])
  • def printUnivList(ulist, num):
  • tplt = "{0:^10}\t{1:{3}^10}\t{2:^10}"
  • print(tplt.format("排名","學校名稱","總分",chr(12288)))
  • for i in range(num):
  • u=ulist[i]
  • print(tplt.format(u[0],u[1],u[2],chr(12288)))
  • def main():
  • uinfo = []
  • url = 'http://www.zuihaodaxue.cn/zuihaodaxuepaiming2016.html'
  • html = getHTMLText(url)
  • fillUnivList(uinfo, html)
  • printUnivList(uinfo, 20) # 20 univs
  • main()
  • 輸出









    null

    轉載于:https://www.cnblogs.com/blackclody/p/6911559.html

    《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

    總結

    以上是生活随笔為你收集整理的BeautifulSoup库的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 日韩成人高清视频在线观看 | 美足av电影 | 中文字幕5566 | 成人精品亚洲 | 久久伊人色| 香蕉视频911 | 九色福利 | 亚洲国产无线乱码在线观看 | 午夜激情福利视频 | 国产女人高潮时对白 | 日韩av免费在线 | 午夜888| 丰满少妇被猛烈进入高清播放 | 国产小视频网址 | 国产乱码精品一区二三赶尸艳谈 | 久久99久久99精品中文字幕 | 欧美 日韩 精品 | 亚洲爱色 | 精品深夜av无码一区二区老年 | 国内少妇毛片视频 | 3d成人动漫在线观看 | np视频| 性视频免费 | 女人被男人躁得好爽免费视频 | 天天综合久久 | 欧美久久激情 | 香蕉久久一区二区三区 | 久久精品免费在线观看 | 少妇一级淫片免费视频 | 关秀媚三级| 国产一区二区三区久久 | 天堂中文8| 制服一区二区 | 92国产精品| 亚洲老老头同性老头交j | 超碰人人干人人 | 乱人伦xxxx国语对白 | 狠狠躁18三区二区一区视频 | 亚洲欧美日韩在线不卡 | 伊人久久五月天 | 在线观看的网站 | 无码人妻精品一区二区蜜桃视频 | 李丽珍裸体午夜理伦片 | 疯狂做受xxxx高潮人妖 | 波多野结衣中文一区 | 少妇一级淫片免费观看 | 成人欧美一区二区三区小说 | 日本黄色中文字幕 | 黑人借宿巨大中文字幕 | 激情都市一区二区 | 中文字幕精品亚洲 | 欧美精品一级 | 欧美资源在线观看 | 91精品国产高清一区二区三密臀 | 欧美亚洲综合久久 | 天堂成人在线视频 | av一级二级| 欧美乱做爰xxxⅹ久久久 | 天堂网视频 | 黑人性生活视频 | 色视频免费 | 伊人视频在线观看 | 天天干天天搞天天射 | 最近中文字幕mv免费高清在线 | 黄色aa毛片 | 黄色片免费在线播放 | 色欲av永久无码精品无码蜜桃 | 极品人妻videosss人妻 | 66亚洲一卡2卡新区成片发布 | 午夜激情综合 | 炕上如狼似虎的呻吟声 | 蜜桃av在线播放 | 国产激情综合 | 人人做| 成人av网站免费 | 天天草夜夜草 | 国精产品乱码一区一区三区四区 | 秋霞国产午夜精品免费视频 | 中文字幕第页 | 亚洲精品18在线观看 | 国产高清无密码一区二区三区 | 国产超碰人人模人人爽人人添 | 亚洲aⅴ乱码精品成人区 | 涩涩视频在线 | 日本三级理论片 | xxx国产在线观看 | 美女脱裤子打屁股 | av狠狠操 | xxxxx色| 自拍偷拍20p | 无码人妻精品一区二区三区蜜桃91 | 国产日韩一区二区在线 | 欧美一区二区三区免费 | 福利久久久 | 91久久精品日日躁夜夜躁欧美 | 国产成人亚洲综合 | 黄页网站免费在线观看 | 日韩在线中文 | 九九福利|