稍微看了點python,寫一寫練下手
匯入request_html庫
from requests_html import htmlsession
先獲取下這個網頁的html
def initdata (url):
try:
if url is none:
return
session = htmlsession()
content = session.get(url)
html = content.html
return html
except :
return
先看一下網頁原始碼
目錄list標籤中就是這本書的目錄列表了
目錄標籤中的內容
然後我們就要遍歷目錄, 取得整個目錄下dd標籤中對應章節的url:
def getdata (html):
dic = {}
for list in content :
dic["name"] = list.text
dic["url"] = list.find('a')[0].attrs["href"] //從href中提取章節url
getbookhtml(dic)
這樣我們就取到了對應章節的url
然後看一下獲取到的url, 就是章節正文了
可以看到網頁中**正文每一行對應content下br標籤中的內容
那我們再把content下所有br標籤的內容提取出來
def getbookcontent (html):
print(html)
dic = {}
content = html.find('#content', first=true).find('br')
for line in content :
dic["line"] = line.text
print(dic)
writetofile(line.text)
然後把這些內容寫入到txt:
def writetofile (text):
result = text
f = open('我是至尊.txt', 'a', encoding='utf-8')
# f.write(chapter[i] + "\n")
f.write(text + "\n")
f.close()
這樣整個爬蟲就完成了
整體邏輯就是 遍歷目錄->獲取目錄下對應章節的url->獲取**正文每一行的內容->寫入本地
貼出來**
from requests_html import htmlsession
url = ""
host = ""
def initdata (url):
try:
if url is none:
return
session = htmlsession()
content = session.get(url)
html = content.html
return html
except :
return
def getdata (html):
dic = {}
for list in content :
dic["name"] = list.text
dic["url"] = list.find('a')[0].attrs["href"]
# print(dic)
getbookhtml(dic)
def getbookhtml (dic):
url = dic["url"]
session = htmlsession()
content = session.get(host+url)
html = content.html
getbookcontent(html)
def getbookcontent (html):
print(html)
dic = {}
content = html.find('#content', first=true).find('br')
for line in content :
dic["line"] = line.text
print(dic)
writetofile(line.text)
def start ():
html = initdata(url)
getdata(html)
def writetofile (text):
result = text
f = open('我是至尊.txt', 'a', encoding='utf-8')
# f.write(chapter[i] + "\n")
f.write(text + "\n")
f.close()
start()
最終效果
由於對html不怎麼熟悉, 對python也了解頗淺, 這段**效能比較低, 靈活性也比較低, 之後有時間會優化一下
有什麼錯誤的地方, 請多指正!
python爬蟲實訓報告 python爬蟲實習?
看到問題,挺感慨的。我是化工碩士,現在轉行在做爬蟲。基本一路都是自學,也遇到過你所說的 哭 的時候,能 哭,無非就是知識積累不夠,又無從尋找答案,那怎麼辦呢?一 補基礎咯。說到爬蟲,無非就是怎麼從網頁抓取資料,那你肯定要知道web是怎麼回事,當你發出乙個網路請求的時候,都發生了什麼?當你需要登入的時...
Java實訓報告
時間過得真快,轉眼間為期一周的實訓已經結束。經過這一周的實訓練習讓我們學到了許多知識,回頭想想實訓這幾天我們確實是有很大收穫的。一周,看似很簡短的時間,實際上按小時計算120小時卻是個不小的數字,也許有些牽強。但是簡短的時間仍是有效的,因為在這一周中我們學到了很多東西,這一周我們在學習的同時,也進一...
堆垛實訓報告總結 叉車實訓總結
叉車實訓總結 經過幾星期的叉車實踐操作,在叉車有了基本的叉車知識的同時 掌握了基本的操作方法,並在最後的考核中取得了良好的成績。實訓完我深刻了解到理論聯絡實際的重要性。學習技能的過程,也是良好 工作作風的乙個積累。對待工作要一絲不苟,嚴謹仔細,在實踐中積 累經驗。以下就對叉車做簡單的闡述。叉車是工業...