目錄
- 1.獲取文章對應的標簽
- 2.下載頁面
- 3.提取標題和正文部分
- 4.提取CSS樣式
- 5.保存網頁
- 6.總結
1.獲取文章對應的標簽
在文章內容上右擊 -> 檢查, 找到了<article>標簽, 該標簽的內容就是文章的正文部分,

2.下載頁面
使用requests庫的get方法即可, 注意添加headers, 否則會爬取不到內容,
requests庫可使用pip安裝: pip install requests --timeout 40,
from requests import get
import re,pprint
headers = {
"User-Agent": """Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 \
(KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36"""
}
url = input('輸入文章網址: ')
req = get(url,headers=headers)
text=req.content.decode('utf-8')
3.提取標題和正文部分
需要使用正則運算式,注意: re.S表示點.匹配全部字符, 若不用re.S引數, 會無法提取內容,
patt=re.compile('<article.*</article>',re.S)
title=re.findall('<title>(.*?)</title>',text,re.S)[0]
content='<html><head><title>%s</title><body>'%title
content += re.findall(patt,text)[0]
4.提取CSS樣式
CSS樣式是修飾網頁的工具, 可控制網頁的排版,這里再次使用開發工具, 找到了包含CSS樣式的標簽,如果不用CSS, 可能會出現網頁排版混亂的情況,

css_patt=re.compile('<link rel="stylesheet" href=".*?blog.*?"',re.S)
for css in re.findall(css_patt,text):
content+=css+'>'
5.保存網頁
content += '</body></html>'
with open('%s.html'%title,'w',encoding='utf-8') as f:
f.write(content)
6.總結
本程式使用requests庫獲取網頁源代碼, 使用re模塊提取內容、CSS樣式,
注意要多使用Chrome的開發工具,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/295388.html
標籤:其他
上一篇:自動化測驗相關知識 ~第一更~
