欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

Python爬蟲練習(xí)1_小作文下載 - 新聞資訊 - 云南小程序開發(fā)|云南軟件開發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開發(fā)/軟件開發(fā)

知識

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側(cè)重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!

您當(dāng)前位置>首頁 » 新聞資訊 » 技術(shù)分享 >

Python爬蟲練習(xí)1_小作文下載

發(fā)表時間:2020-10-19

發(fā)布人:葵宇科技

瀏覽次數(shù):62

作文下載

  • 準備工具
  • 步驟分析與代碼實現(xiàn)

準備工具

  • 本機環(huán)境:Windows10專業(yè)版
  • 操作系統(tǒng):64位
  • Python版本:python 3.8
  • 運行工具:PyCharm 2020.2

步驟分析與代碼實現(xiàn)

開始之前先導(dǎo)入一些庫

import requests
from lxml import etree
  1. 獲取網(wǎng)頁源代碼
    打開一個網(wǎng)站分析一下
    在這里插入圖片描述
    1就是url
    2是文章標題
    3是內(nèi)容
    之后會放進代碼里,先獲取到這個界面的網(wǎng)頁

    url = requests.get('https://www.chnlib.com/zuowenku/')
    html = url.content.decode()#對亂碼處理,這里沒寫內(nèi)容默認值就是‘UTF-8’
    print(html)
    

    返回結(jié)果
    在這里插入圖片描述
    這就是網(wǎng)頁的代碼,這就證明我們訪問到這個頁面了。

  2. 獲取作文篇章的url
    已經(jīng)可以獲取到網(wǎng)頁源代碼了,接下來就解析我們要的文章在哪里,可以看到界面是每一個文章都是有一個鏈接的,F12可以查看網(wǎng)頁源代碼。點擊右上角小箭頭,選中網(wǎng)頁的作文,可以在右邊看見一個<a>標簽這就是文章的鏈接,每一個文章都需要打開一個鏈接。
    在這里插入圖片描述
    在這里插入圖片描述
    下面就要解析一下,怎么獲取這些鏈接,通過源代碼可以看出他們都是統(tǒng)一的格式都是在一個<div>下面有一個<h4>再下面獲取<a>,下面就用xpath來獲取這個<h4>標簽,簡單的方法就是在頁面上右擊<h4>有一個copy-> copy xpath 可以直接獲取xpath路徑

    • 構(gòu)造一個xpath用來解析
    	doc = etree.HTML(html) #構(gòu)造xpath解析對象@選取對象
    	contents = doc.xpath('//*[@class="list-group"]/div')
    	print(contents)
    

    在這里插入圖片描述
    查看一下contents發(fā)現(xiàn)是一個Element,看不到內(nèi)容,這個時候就需要遍歷這個Element,用for in去取<h4>下面<a>中的 href

    • 獲取每一個文章的url
          for content in contents:
      		links = content.xpath('h4/a/@href') #獲取超鏈接
      		print(links)
      

    在這里插入圖片描述
    這樣每一篇文章的url都獲取到了,接下來就該獲取每一篇文章的標題以及內(nèi)容。下面仍然用xpath的方式去獲取。

    • 獲取標題和文章內(nèi)容
      content = doc.xpath('//*[@id="content"]/p/text()')#獲取文本
      title = doc.xpath('/html/body/div[4]/div/div[1]/div/div[1]/h1/text()') #獲取標題
      title1 = [t.replace('\r\n','') for t in title]
      
      至此每一篇文章的標題和內(nèi)容都獲取到,最后把獲取到的數(shù)據(jù)保存下來
  3. 存儲數(shù)據(jù)

             with open('download/%s.txt' %title1[0], 'w', encoding='utf-8') as f:
                for items in content:
                    f.write(items)
    

相關(guān)案例查看更多