作文下載
- 準備工具
- 步驟分析與代碼實作
準備工具
- 本機環境:Windows10專業版
- 作業系統:64位
- Python版本:python 3.8
- 運行工具:PyCharm 2020.2
步驟分析與代碼實作
開始之前先匯入一些庫
import requests
from lxml import etree
-
獲取網頁源代碼
打開一個網站分析一下

1就是url
2是文章標題
3是內容
之后會放進代碼里,先獲取到這個界面的網頁url = requests.get('https://www.chnlib.com/zuowenku/') html = url.content.decode()#對亂碼處理,這里沒寫內容默認值就是‘UTF-8’ print(html)回傳結果

這就是網頁的代碼,這就證明我們訪問到這個頁面了, -
獲取作文篇章的url
已經可以獲取到網頁源代碼了,接下來就決議我們要的文章在哪里,可以看到界面是每一個文章都是有一個鏈接的,F12可以查看網頁源代碼,點擊右上角小箭頭,選中網頁的作文,可以在右邊看見一個<a>標簽這就是文章的鏈接,每一個文章都需要打開一個鏈接,


下面就要決議一下,怎么獲取這些鏈接,通過源代碼可以看出他們都是統一的格式都是在一個<div>下面有一個<h4>再下面獲取<a>,下面就用xpath來獲取這個<h4>標簽,簡單的方法就是在頁面上右擊<h4>有一個copy-> copy xpath 可以直接獲取xpath路徑- 構造一個xpath用來決議
doc = etree.HTML(html) #構造xpath決議物件@選取物件 contents = doc.xpath('//*[@class="list-group"]/div') print(contents)
查看一下contents發現是一個Element,看不到內容,這個時候就需要遍歷這個Element,用for in去取<h4>下面<a>中的href- 獲取每一個文章的url
for content in contents: links = content.xpath('h4/a/@href') #獲取超鏈接 print(links)

這樣每一篇文章的url都獲取到了,接下來就該獲取每一篇文章的標題以及內容,下面仍然用xpath的方式去獲取,- 獲取標題和文章內容
至此每一篇文章的標題和內容都獲取到,最后把獲取到的資料保存下來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]
-
存盤資料
with open('download/%s.txt' %title1[0], 'w', encoding='utf-8') as f: for items in content: f.write(items)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/183409.html
標籤:其他
