电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Python爬取365好書中小說代碼實例

瀏覽:46日期:2022-08-05 11:18:28

需要轉載的小伙伴轉載后請注明轉載的地址

需要用到的庫

from bs4 import BeautifulSoup import requests import time

365好書鏈接:http://www.365haoshu.com/ 爬取《我以月夜寄相思》小說

首頁進入到目錄:http://www.365haoshu.com/Book/Chapter/List.aspx?NovelId=3026

獲取小說的每個章節的名稱和章節鏈接

打開瀏覽器的開發者工具,查找一個章節:如下圖,找到第一章的名稱和href(也就是第一章節內容頁面的鏈接),開始寫代碼

Python爬取365好書中小說代碼實例

from bs4 import BeautifulSoup import requestsimport time# 分別導入time、requests、BeautifulSoup庫url = ’http://www.365haoshu.com/Book/Chapter/’# 鏈接地址url,這兒url章節鏈接沒全寫出來是因為下面獲取章節鏈接時要用到這些urlreq = requests.get(url+’List.aspx?NovelId=0326’)# 打開章節頁面,req_bf = BeautifulSoup(req.text,'html.parser')print(req_bf)# 將打開的頁面以text打印出來div = req_bf.find_all(’div’,class_=’user-catalog-ul-li’)# 分析頁面,所需要的章節名和章節鏈接是在div標簽,屬性class為user-catalog-ul-li下# 找到這個下的內容,并打印s = []for d in div: s.append(d.find(’a’))print(s)# 獲取div下面的a標簽下的內容names=[] # 存儲章節名hrefs=[] # 存儲章節鏈接for i in s: names.append(i.find(’span’).string) hrefs.append(url + i.get(’href’))# 將所有的章節和章節鏈接存入的列表中觀察href后的鏈接和打開章節內容頁面的鏈接是不完全的相同的, 所以要拼接使得瀏覽器能直接打開章節內容

獲取到鏈接和章節名后打開一個章節獲取文本內容;

和獲取章節名方法一致,一步一步查找到內容的位置

txt = requests.get(hrefs[0])div_bf = BeautifulSoup(txt.text,’html.parser’)div = div_bf.find_all(’div’,class_=’container user-reading-online pos-rel’)#print(div)ps = BeautifulSoup(str(div),'html.parser')p=ps.find_all(’p’,class_=’p-content’)print(p)txt=[]for i in p: txt.append(i.string+’n’)print(txt)

獲取單一章節完成

接下來整理代碼,獲取整個小說的內容,代碼如下:

# --*-- coding=utf-8 --*--from bs4 import BeautifulSoupimport requestsimport timeclass spiderstory(object): def __init__(self): # 初始化 self.url = ’http://www.365haoshu.com/Book/Chapter/’ self.names = [] # 存放章節名 self.hrefs = [] # 存放章節鏈接 def get_urlAndName(self): ’’’獲取章節名和章節鏈接’’’ req = requests.get(url=self.url+’List.aspx?NovelId=0326’) # 獲取章節目錄頁面 time.sleep(1) # 等待1秒 div_bf = BeautifulSoup(req.text,'html.parser') # req后面跟text和html都行 div = div_bf.find_all(’div’, class_=’user-catalog-ul-li’) # 查找內容,標簽為div,屬性為class=’user-catalog-ul-li’ a_bf = BeautifulSoup(str(div)) a = a_bf.find_all(’a’) # # 查找內容,標簽為a for i in a: self.names.append(i.find(’span’).string) # 獲取內容直接string就行 self.hrefs.append(self.url + i.get(’href’)) # 獲取鏈接 def get_text(self,url): ’’’獲取章節內容’’’ req = requests.get(url=url) div_bf = BeautifulSoup(req.text,'html.parser') div = div_bf.find_all(’div’, class_=’container user-reading-online pos-rel’) # 查找內容 ps = BeautifulSoup(str(div), 'html.parser') p = ps.find_all(’p’, class_=’p-content’) text = [] for each in p: text.append(each.string) print(text) return text # 將獲得的內容返回 def writer(self, name, path, text): ’’’寫入text文檔中’’’ with open(path, ’a’, encoding=’utf-8’) as f: f.write(name + ’n’) f.writelines(text) f.write(’nn’)if __name__ == '__main__': # 運行入口 s = spiderstory() s.get_urlAndName() le = len(s.names) for i in range(le): # 利用for循環獲得所有的內容 name = s.names[i] text = str(s.get_text(s.hrefs[i])) s.writer(name,'我以月夜寄相思.txt',text) print(’下載完畢!!!’)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 深圳希玛林顺潮眼科医院(官网)│深圳眼科医院│医保定点│香港希玛林顺潮眼科中心连锁品牌 | 山东聚盛新型材料有限公司-纳米防腐隔热彩铝板和纳米防腐隔热板以及钛锡板、PVDF氟膜板供应商 | 大连海岛旅游网>>大连旅游,大连海岛游,旅游景点攻略,海岛旅游官网 | 日本SMC气缸接头-速度控制阀-日本三菱伺服电机-苏州禾力自动化科技有限公司 | 闭端端子|弹簧螺式接线头|防水接线头|插线式接线头|端子台|电源线扣+护线套|印刷电路板型端子台|金笔电子代理商-上海拓胜电气有限公司 | 塑胶跑道_学校塑胶跑道_塑胶球场_运动场材料厂家_中国塑胶跑道十大生产厂家_混合型塑胶跑道_透气型塑胶跑道-广东绿晨体育设施有限公司 | 澳洁干洗店加盟-洗衣店干洗连锁「澳洁干洗免费一对一贴心服务」 干洗加盟网-洗衣店品牌排行-干洗设备价格-干洗连锁加盟指南 | 1000帧高速摄像机|工业高速相机厂家|科天健光电技术 | 大功率金属激光焊接机价格_不锈钢汽车配件|光纤自动激光焊接机设备-东莞市正信激光科技有限公司 定制奶茶纸杯_定制豆浆杯_广东纸杯厂_[绿保佳]一家专业生产纸杯碗的厂家 | 帽子厂家_帽子工厂_帽子定做_义乌帽厂_帽厂_制帽厂_帽子厂_浙江高普制帽厂 | 便携式谷丙转氨酶检测仪|华图生物科技百科 | 深圳高新投三江工业消防解决方案提供厂家_服务商_园区智慧消防_储能消防解决方案服务商_高新投三江 | 肉嫩度仪-凝胶测试仪-国产质构仪-气味分析仪-上海保圣实业发展有限公司|总部 | 船用烟火信号弹-CCS防汛救生圈-船用救生抛绳器(海威救生设备) | 线材成型机,线材折弯机,线材成型机厂家,贝朗自动化设备有限公司1 | China plate rolling machine manufacturer,cone rolling machine-Saint Fighter | 黑田精工电磁阀-CAMMOZI气缸-ROSS电磁-上海茂硕机械设备有限公司 | 搪瓷搅拌器,搪玻璃搅拌器,搪玻璃冷凝器_厂家-淄博越宏化工设备 | 最新电影-好看的电视剧大全-朝夕电影网 | 网站制作优化_网站SEO推广解决方案-无锡首宸信息科技公司 | 玄米影院| 小学教案模板_中学教师优秀教案_高中教学设计模板_教育巴巴 | 本安接线盒-本安电路用接线盒-本安分线盒-矿用电话接线盒-JHH生产厂家-宁波龙亿电子科技有限公司 | 欧必特空气能-商用空气能热水工程,空气能热水器,超低温空气源热泵生产厂家-湖南欧必特空气能公司 | 气动调节阀,电动调节阀,自力式压力调节阀,切断阀「厂家」-浙江利沃夫自控阀门 | 电地暖-电采暖-发热膜-石墨烯电热膜品牌加盟-暖季地暖厂家 | 上海办公室装修,办公楼装修设计,办公空间设计,企业展厅设计_写艺装饰公司 | MOOG伺服阀维修,ATOS比例流量阀维修,伺服阀维修-上海纽顿液压设备有限公司 | 电机铸铝配件_汽车压铸铝合金件_发动机压铸件_青岛颖圣赫机械有限公司 | 室内室外厚型|超薄型|非膨胀型钢结构防火涂料_隧道专用防火涂料厂家|电话|价格|批发|施工 | 密集架-密集柜厂家-智能档案密集架-自动选层柜订做-河北风顺金属制品有限公司 | 无压烧结银_有压烧结银_导电银胶_导电油墨_导电胶-善仁(浙江)新材料 | IHDW_TOSOKU_NEMICON_EHDW系列电子手轮,HC1系列电子手轮-上海莆林电子设备有限公司 | 头条搜索极速版下载安装免费新版,头条搜索极速版邀请码怎么填写? - 欧远全 | 佛山商标注册_商标注册代理|专利注册申请_商标注册公司_鸿邦知识产权 | 渣土车电机,太阳能跟踪器电机,蜗轮蜗杆减速电机厂家-淄博传强电机 | 气动隔膜泵厂家-温州永嘉定远泵阀有限公司 | 成都竞价托管_抖音代运营_网站建设_成都SEM外包-成都智网创联网络科技有限公司 | 洗砂机械-球磨制砂机-洗沙制砂机械设备_青州冠诚重工机械有限公司 | 代办建筑资质升级-建筑资质延期就找上海国信启航 | 浇注料-高铝砖耐火砖-郑州凯瑞得窑炉耐火材料有限公司 |