欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Python網絡爬蟲——bs4基本用法

系統 2061 0

使用流程:

  -導包:from bs4 import BeautifulSoup

  - 使用方式:可以將一個html文檔,轉化為BeautifulSoup對象,然后通過對象的方法或屬性去查找指定的節點內容。

    (1)轉化本地文件:

      - soup = BeautifulSoup(open(‘本地文件’),‘lxml’)

    (2)轉化網絡文件(與requests配合):

      - page_text = requests.get(url=url,headers=headers).text

      -?soup = BeautifulSoup(page_text,'lxml')

    (3)打印soup對象顯示內容為html文件中的內容

基礎語法:

?  (1)根據標簽名查找

    - soup.a  只能找到第一個符合要求的標簽

  (2)獲取屬性

    - soup.a.atters  獲取a所有的屬性和屬性值,返回一個字典

    - soup.a.atters['href']  獲取href屬性

    - soup.a['href']  上面的簡寫

  (3)***獲取內容

    - soup.a.string  獲取 之間的文本內容(a不含子標簽)

      - soup.a['href'].string  獲取a標簽中href的內容

    - soup.a.text   獲取 之間包括子標簽的所有文本內容

    - soup.a.get_text()  同上面用法

    【注意】如果標簽里還有標簽,那么string獲取到的結果為None,其他兩個可以獲取文本內容

  (4)***find:找到第一個符合要求的標簽

    - soup.find('a')  找到第一個符合要求的標簽(a標簽)

    - soup.find('a',title='xxx')?  找到第一個title=‘xxx’的a標簽

    - soup.find('a',alt='xxx')  同上

    - soup.find('a',class_='xxx')  同上,【注意】class后的_

    - soup.find('a',id='xxx')  同上

  (5)***find_all:找到所有符合要求的標簽

    - soup.find_all('a')  找到所有a標簽

    - soup.find(['a','b'])  找到所有a和b標簽

    - soup.find_all('a',limit=2)  限制前兩個

  (6)***根據選擇器選擇指定的內容

      select:soup.select('.feng')  選擇class屬性值為feng的所有標簽

    - 常見的選擇器:標簽選擇器(a)、類型選擇器(.)、id選擇器(#)、層級選擇器

      - 層級選擇器:

        div > p > a > .lala  只能選擇最下面一級 class=lala的子標簽

        div .dudu  div下面clas=dudu的所有字標簽

    【注意】?select選擇器返回永遠是列表,需要通過下表提取指定的對象

實例:使用bs4實現將詩詞名句網站中三國演義小說的每一章的內同爬取到本地磁盤進行存儲

            
              import
            
            
               requests

            
            
              from
            
             bs4 
            
              import
            
            
               BeautifulSoup

              
#獲得url url
= ' http://www.shicimingju.com/book/sanguoyanyi.html ' headers = { ' User-Agent ' : '' }

#獲取網頁并轉換成BeautifulSoup對象 page_text
= requests.get(url=url,headers= headers).text soup = BeautifulSoup(page_text, ' lxml ' )

#選取class=book-mulu的div標簽 >下的ul標簽 >下的li標簽 >下的所有a標簽 a_list
= soup.select( ' .book-mulu>ul>li>a ' )

#創建sanguo.txt文件 fp
= open( ' sanguo.txt ' , ' w ' ,encoding= ' utf-8 ' )

#遍歷所有a標簽
for a in a_list:
  #獲取a標簽文本 title
= a.string
  #獲取a標簽中href屬性的文本信息,并組成url detail_url
= ' http://www.shicimingju.com ' + a[ ' href ' ]
  #獲取新url內的頁面信息 detail_page_text
= requests.get(url=detail_url,headers= headers).text #將新url網頁創建為BeautifulSoup對象 title_soup = BeautifulSoup(detail_page_text, ' lxml ' )
  #獲取新url內class='chapter_content'的div標簽的文本信息 content
= title_soup.find( ' div ' ,class_= ' chapter_content ' ).text
  #將標題與正文間加入\n并寫入sanguo.txt文件 fp.write(title
+ ' \n ' + content)
  #每一章節下載完畢都打印成功
print (title, ' 下載完畢 ' ) print ( ' over ' ) fp.close()

?


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲免费a | 亚洲色四在线视频观看 | 丁香花成人另类小说 | 91视频免费观看 | 亚洲福利一区福利三区 | 欧美日在线 | 91视频首页| 欧日韩不卡在线视频 | 天天骑天天干 | 六月婷婷久久 | 四季久久免费一区二区三区四区 | 久热中文字幕在线精品首页 | 99热.com| 国产一区二区三区久久久久久久久 | 国产在线自在拍91精品黑人 | 亚洲国产精选 | 色之综合天天综合色天天棕色 | 国产精品99久久久久 | 日韩国产欧美在线观看一区二区 | 国产亚洲一区二区三区 | 在线高清免费观看视频 | 人人爱国产 | 丁香婷婷综合五月六月 | 欧美日韩亚洲精品国产色 | 91国内精品久久久久怡红院 | 99re国产 | 免费黄色大全 | 日韩在线电影 | 久久爱成人网 | 精品久久一区二区 | 毛片少妇爽到高潮特黄A片 六月色播 | 97国产精品视频人人做人人爱 | 天天操综合网 | 波多野结衣在线观看网址 | 国产成人免费 | 日韩欧美中文字幕在线观看 | 国产成人微拍精品 | 色接久久 | 免费成人福利视频 | 伊人激情网 | 国产一区av在线 |