這篇文章主要介紹用PYTHON爬蟲簡單爬取網絡小說的示例,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯公司是一家專業(yè)提供海淀企業(yè)網站建設,專注與成都網站制作、做網站、H5場景定制、小程序制作等業(yè)務。10年已為海淀眾多企業(yè)、政府機構等服務。創(chuàng)新互聯專業(yè)網絡公司優(yōu)惠進行中。
用PYTHON爬蟲簡單爬取網絡小說。
這里是17K小說網上,隨便找了一本小說,名字是《千萬大獎》。
里面主要是三個函數:
1、get_download_url() 用于獲取該小說的所有章節(jié)的URL。
分析了該小說的目錄頁http://www.17k.com/list/2819620.html的HTML源碼,發(fā)現其目錄是包含在Volume里的A標簽合集。所以就提取出了URLS列表。
2、get_contents(target) 用于獲取小說指定章節(jié)的正文內容
分析了小說中第一章節(jié)的頁面http://www.17k.com/chapter/2819620/34988369.html,發(fā)現其正文內容包含在P標簽中,正文標題包含在H1標簽中,經過對換行等處理,得到正文內容。傳入參數是上一函數得到的URL。
3、writer(name, path, text) 用于將得到的正文內容和章節(jié)標題寫入到千萬大獎.txt
理論上,該簡單爬蟲可以爬取該網站的任意小說。
from bs4 import BeautifulSoup import requests, sys ''' 遇到不懂的問題?Python學習交流群:821460695滿足你的需求,資料都已經上傳群文件,可以自行下載! ''' target='http://www.17k.com/list/2819620.html' server='http://www.17k.com' urls=[] def get_download_url(): req = requests.get(url = target) html = req.text div_bf = BeautifulSoup(html,'lxml') div = div_bf.find_all('dl', class_ = 'Volume') a_bf = BeautifulSoup(str(div[0]),'lxml') a = a_bf.find_all('a') for each in a[1:]: urls.append(server + each.get('href')) def get_contents(target): req = requests.get(url = target) html = req.text bf = BeautifulSoup(html,'lxml') title=bf.find_all('div', class_ = 'readAreaBox content') title_bf = BeautifulSoup(str(title[0]),'lxml') title = title_bf.find_all('h2') title=str(title[0]).replace('<h2>','') title=str(title).replace('</h2>','') title=str(title).replace(' ','') title=str(title).replace('\n','') texts = bf.find_all('div', class_ = 'p') texts=str(texts).replace('<br/>','\n') texts=texts[:texts.index('本書首發(fā)來自17K小說網,第一時間看正版內容!')] texts=str(texts).replace(' ','') return title,str(texts[len('[<div class="p">'):]) def writer(name, path, text): write_flag = True with open(path, 'a', encoding='utf-8') as f: f.write(name + '\n') f.writelines(text) f.write('\n') #title,content=get_contents(target) #print(title,content) #writer(title,title+".txt",content) get_download_url() #print(urls) i=1 for url in urls: title,content=get_contents(url) writer(title,"千萬大獎.txt",content) print(str(int(i/len(urls)*100))+"%") i+=1
以上是用PYTHON爬蟲簡單爬取網絡小說的示例的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯行業(yè)資訊頻道!
標題名稱:用PYTHON爬蟲簡單爬取網絡小說的示例
網頁路徑:http://www.chinadenli.net/article26/jdjdcg.html
成都網站建設公司_創(chuàng)新互聯,為您提供靜態(tài)網站、用戶體驗、做網站、云服務器、電子商務、面包屑導航
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯