久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx

如何用 Python 爬取網站制作電子書

2022-07-11    分類: python

如何用 Python 爬取網站制作電子書

有人爬取數據分析黃金周旅游景點,有人爬取數據分析相親,有人大數據分析雙十一,連小學生寫論文都用上了大數據。

我們每個人每天都在往網上通過微信、微博、淘寶等上傳我們的個人信息,現在就連我們的錢都是放在網上,以后到強人工智能,我們連決策都要依靠網絡。網上的數據就是資源和寶藏,我們需要一把鏟子來挖掘它。

最近,AI 的興起讓 Python 火了一把。實際上 Python 擁有龐大的第三方支持,生態系統非常完整,可以適用各種場景和行業。

這次,我們準備通過 Python 學習爬蟲的開發,既簡單有趣,而且是數據采集重要一環。同時脫離應用談技術就是耍流氓,通過制作電子書學習數據的收集與整理,即能學到東西又有實用價值。

我們將通過爬取網頁信息這個很小的應用場景來體會數據預處理的思想,并從中學習了解數據處理中抓取、處理、分組、存儲等過程的實現。

我這次分享主要分為以下幾個部分:

Python 語法:通過分享掌握簡單的 Python 開發語法和思路,側重于后面爬蟲開發的需要用的內容;

Scrapy 爬蟲開發:通過分享了解基本的 Scrapy 開發,并實現從網絡爬取數據,使用 Sigil 制作 epub 電子書;

最后,我希望通過分享,讓更多人能夠入門并喜歡上 Python 開發,掌握 Scrapy 爬蟲開發的思路和方法。

一、Python 開發

1.1 Windows 下環境安裝

熟悉 Windows 的安裝 Python 不難,首先官網下載:https://www.python.org/downloads/。

有兩個版本,根據需要選擇自己的版本,現在越來越多的庫開始支持 3,所以建議下載 3,這里我們以 2 為例。

雙擊下載的安裝文件,一路 Next 即可,但是要注意勾選 __pip__ 和 Add python.exe to Pat

pip 是 Python 生態體系里面的包管理工具,很多第三方庫可以通過它方便的管理。

安裝 Finish 之后,打開命令行窗口,輸入 Python:

如果出現這個界面說明安裝成功了。

需要把 python.exe 的目錄添加到 path 中,一般是 C:/Python27。

1.2 Python 之 HelloWorld

目前我所接觸過的所有編程語言都只要掌握三個內容就可以了:就是輸入、處理、輸出。我們已經安裝好了 Python,可以來一個最俗套的程序。

首先我們打開 windows 的控制臺,然后輸入 python 回車。

根據我上面的說法,這個程序的輸入就是 Hello World 字符串,處理使系統內部的輸出處理,輸出結果就是 ‘Hello World’。

我們說這個不是單純的秀一下,以前沒有用戶界面的時候 print 可以作為人機交互用途,現在多數是用于調試,可以在程序運行的時候快速的輸出程序結果或者過程結果。

1.3 做菜與編程

現在有個很有意思的說法:生數據(原始數據)就是沒有處理過的數據,熟數據(Cooked Data)是指原始數據經過加工處理后的數據,處理包括解壓縮、組織,或者是分析和提出,以備將來使用。

這就像做菜生菜是輸入,菜譜是程序,洗、切、烹飪等處理是程序執行過程,最后輸出的熟菜。但不管生菜、熟菜都是菜,或者都是物質。

準備食材

在程序世界里的物質組成就是數據,就像有蘿卜白菜等不同的品種一樣,數據也有不同的類型。我目前所接觸到的數據類型主要有以下幾種:

物理類:數據在物理內存中的表達存儲方式;

字節

數據類:數據類中的具體類型代表了不同精度和內存中不同的存儲結構;

整數

浮點數

長整型

雙精度

字符類:就是文本字符相關的數據類型;

字符

字符串

邏輯類:就是邏輯真與邏輯假;

布爾值

復合類:由各基本的數據類型按照一定的結構組合而成的數據;

結構體

集合

字典

列表

序列

Hash 表

……

這里我強調幾點:

首先,這個分類不是某種語言特有,目前大多數編程語言都差不多,你理解這個思想就把自己的編程能力擴展了。

其次,它不需要專門記憶,編程是程序性的知識,運用的知識,是一種技能,你要做什么菜,你來這個分類查查需要什么原材料,再去具體研究,慢慢就會了,不做你記住了也沒用。

用多深,研究多深,不用就別研究浪費時間。比如說,我們一般性應用不會去考慮數據的內存模型,但是涉及到精度、性能或者邊界值時我們就需要小心,研究得深一些。

器皿

食材已準備好了,可以下鍋,可鍋在哪里,你不能放在手里加工。程序里我們用變量、常量來盛各種數據,還有個作用域的問題,嚴格的廚房紅案和白案是分開的,有時候砧板是不能互用的。

空值:四大皆空,什么也不是,不是 0,不是長度為 0 的字符串,不是 false,什么都不是;

變量:學過數學的人都應該有這個概念,反正差不多;

常量:固定不變的量,比如說 π。

烹飪手法

剛查了下,我大天朝常用的烹飪手法多達 20 多種,我歸納了一下,編程大概就那么幾種:

數值計算——加減乘除、位移等;

邏輯計算——邏輯真假判斷;

過程計算——循環、嵌套、遞歸等;

數據處理——字符串、對象的操作。

菜譜與炒菜

菜都準備好了,下鍋怎么炒,全靠菜譜,它就是程序,而我們按照菜譜炒菜這個過程就是程序的執行。

Python 或任何一種編程語言都是博大精深,同時又是一種技能,不可能在使用之前完全掌握,也沒必要。

我們需要知道的是我們想吃什么(程序要輸出什么),然后再去菜市場買時才找菜譜(搜索引擎查資料),最后按照我們的需求加工(編程)。

1.4 Python 簡單實踐

我們運行了 hello.py 文件,然后 hello.py 導入了包 pkg;包 pkg 定義了一個方法和一個類,我們在 hello.py 文件里面調用了外部的方法和類。

二、使用 Scrapy 抓取電子書

2.1 寫在爬取數據之前

雖然我們這里的數據都是從公開的網絡獲取,但也不能確定其版權問題,因此獲取的數據僅用于編程練習,嚴禁分享或用于其他用途。

好了,現在我們找一個在線看書的網站,找一本書把它下載到本地。首先,我們準備下載工具,就是 Python 的爬蟲框架 Scrapy。

2.2 Scrapy 安裝

安裝完 Python 后可以用以下的命令按照 Scrapy,有些版本的 Python 沒有帶 pip 需要手動安裝。

pip 是 Python 的包管理器,大量的第三方包或者說功能可以通過這個工具來管理,所謂包就是模塊化的功能集合,基本的技術參考實踐里面的包。

2.3 新建 Scrapy 爬蟲項目

Scrapy 是 Python 程序,同時也是一套框架,提供了一系列工具來簡化開發,因此我們按照 Scrapy 的模式來開發,先新建一個 Scrapy 項目。

Scrapy 項目包含一些基礎框架代碼,我們在此基礎上開發。

2.4 新建 Scrapy 爬蟲

這時,Scrapy 還不知道我們要爬取什么數據,所以我們要用 Scrapy 工具新建一個爬蟲,命令如

下面實操,我們在起點中文網找一篇免費小說的完本,這里選擇是《修真小主播》。

我們就在前面建立的 Scrapy 項目 ebook 下新建一個爬蟲,命令如下:

執行成功之后,在項目的 spider 目錄下就多了一個 xzxzb.py 的文件。

2.5 爬蟲思路

怎么抓取數據,首先我們要看從哪里取,打開《修真小主播》的頁面,如下:

有個目錄頁簽,點擊這個頁簽可以看見目錄,使用瀏覽器的元素查看工具,我們可以定位到目錄和每一章節的相關信息。

2.6 獲取章節地址

現在我們打開 xzxzb.py 文件,就是我們剛剛創建的爬蟲

start_urls 就是目錄地址,爬蟲會自動爬這個地址,然后結果就在下面的 parse 中處理。現在創新互聯就來編寫代碼處理目錄數據,首先爬取小說的主頁,獲取目錄列表

獲取網頁中的 DOM 數據有兩種方式,一種是使用 CSS 選擇子,另外一種是使用 XML 的 xPath 查詢。

這里我們用 xPath,相關知識請自行學習,看以上代碼,首先我們通過 ID 獲取目錄框,獲取類 cf 獲取目錄列表

接著,遍歷子節點,并查詢 li 標簽內 a 子節點的 href 屬性,最后打印出來

這樣,可以說爬取章節路徑的小爬蟲就寫好了,使用如下命令運行 xzxzb 爬蟲查看結果

爬取章節路徑的小爬蟲就寫好了,但我們的目的不僅于此,我們接下來使用這些地址來抓取內容:

2.7 章節頁面分析

我們接下來分析一下章節頁面,從章節頁面我們要獲取標題和內容。

如果說章節信息爬取使用的 parser 方法,那么我們可以給每一個章節內容的爬取寫一個方法,比如:parser_chapter,先看看章節頁面的具體情況

可以看到,章節的整個內容在類名為 main-text-wrap 的 div 標簽內,標題是其中類名為j_chapterName的 h3 標簽,具體內容是類名為read-content j_readContent的 div 標簽。

scrapy.Request 不同于使用 response.follow,需要通過相對路徑構造出絕對路徑,response.follow 可以直接使用相對路徑,因此就不需要調用 urljoin 方法了。

注意,response.follow 直接返回一個 Request 實例,可以直接通過 yield 進行返回。

數據獲取了之后是存儲,由于我們要的是 html 頁面,因此,我們就按標題存儲即可。

2.8 數據整理

首先,我們爬取下來的章節頁面排序不是很好,如果人工去排需要太多的時間精力;另外,章節內容包含許多額外的東西,閱讀體驗不好,我們需要優化內容的排版和可讀性。

我們先給章節排個序,因為目錄中的章節列表是按順序排列的,所以只需要給下載頁面名稱添加一個順序號就行了。

不知道大家注意到沒有,前面的分析中目錄已經提供了一個data_rid可以作為排序號,我們在目錄分析頁面獲取這個序號,然后通過 request 的 meta 傳入parse_chapter。

在parse_chapter中通過 response 的 meta 獲取傳入的參數,然后文件名中加入這個順序好完成了排序。另外,Sigil 找那個通過 H1 標簽來生成目錄,需要目錄的話,我們需要給內容添加一個 h1 標簽。

還有可讀性差的問題,也許我們下載的網頁可能會包含一些亂七八糟的東西,我們有很多辦法,也可以使用 readbility 等第三方庫,這里就不深入了。

三、使用 Sigil 制作電子書

電子書的制作,完全就是工具的應用,非常簡單,這里把流程過一下,大家根據興趣自行深入。

3.1 Sigil 簡介

Sigil 是一個多平臺的 ePub 電子書編輯器。官方網站:https://sigil-ebook.com/,下載頁面在 https://github.com/Sigil-Ebook/Sigil/releases,根據自己的需求下載,安裝很簡單就不啰嗦了。

3.2 ePub 電子書簡介

ePub(Electronic Publication 的縮寫,意為:電子出版),是一個自由的開放標準,屬于一種可以 “自動重新編排” 的內容;也就是文字內容可以根據閱讀設備的特性,以最適于閱讀的方式顯示。

ePub 檔案內部使用了 XHTML 或 DTBook (一種由 DAISY Consortium 提出的 XML 標準)來展現文字、并以 zip 壓縮格式來包裹檔案內容。EPub 格式中包含了數位版權管理(DRM)相關功能可供選用。

3.3 加載 html 文件

要制作 ePub 電子書,我們首先通過 Sigil 把我們的抓取的文件加載到程序中,在添加文件對話框中我們全選所有文件。

內容都是 HTML 文件,所以編輯、排版什么的學習下 HTML。

3.4 制作目錄

文件中存在 HTML 的 h 標簽時,點擊生成目錄按鈕就可以自動生成目錄,我們在前面數據抓取時已經自動添加了 h1 標簽。

3.5 制作封面

封面本質上也是 HTML,可以編輯,也可以從頁面爬取,就留給大家自己實現吧。

3.6 編輯元數據

編輯書名、作者等信息。

3.6 輸出 ePub

編輯完成后保存,取個名字。

輸出可以使用電子書閱讀軟件打開查看,我用的是 Calibre,還可以方便的轉換為相應的格式裝到 Kindle 中閱讀。

網頁題目:如何用 Python 爬取網站制作電子書
文章起源:http://www.js-pz168.com/news15/176715.html

網站建設、網絡推廣公司-創新互聯,是專注品牌與效果的網站制作,網絡營銷seo公司;服務項目有網站制作python

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

外貿網站建設
久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx
国产婷婷一区二区| 亚洲愉拍自拍另类高清精品| 亚洲一区二区精品3399| 精品一区二区免费| 91成人免费视频| 日韩成人在线资源| 欧美日本一区二区| 国产精品久久久久影视| 日韩av中文字幕一区二区三区| 成人午夜在线播放| 欧美一区二区综合| 91精品国产欧美一区二区成人| 亚洲欧洲av一区二区三区久久| 男人的天堂久久精品| 91亚洲精品乱码久久久久久蜜桃| 日韩精品久久久毛片一区二区| 91精品国产91久久久久久最新毛片| 国产精品久久久久久久久久久免费看| 日本免费新一区视频| 处破女av一区二区| 无码免费一区二区三区免费播放 | 日韩电影一二三区| 91捆绑美女网站| 在线观看欧美一区| 国产午夜久久久久| 人妖欧美一区二区| 国产超碰91| 欧美日韩一区二区在线视频| 国产精品久久久久aaaa樱花 | 波多野结衣91| 亚洲人一区二区| 国产日产欧美精品一区二区三区| 秋霞成人午夜伦在线观看| 99高清视频有精品视频| 欧洲视频一区二区| 亚洲人精品午夜| 懂色av一区二区在线播放| 四虎影院一区二区三区 | 91豆麻精品91久久久久久| 欧美国产精品v| 国内精品国产成人| 日韩性感在线| 欧美激情一区二区| 国产精品一区免费视频| 亚洲激情电影在线| 欧美国产视频在线| 国产精品99久久久久久宅男| 午夜精品美女久久久久av福利| 久久精品水蜜桃av综合天堂| 久久99精品久久久| 日本中文不卡| 亚洲国产精品精华液2区45| 国产精品一区二区你懂的| 亚洲aⅴ天堂av在线电影软件| 国产欧美日本一区二区三区| 国产在线精品一区二区不卡了| 日本精品一区| 国产人成一区二区三区影院| 国产福利视频一区二区三区| 色综合久久久久| 亚洲欧美日韩一区| 51国产成人精品午夜福中文下载| 欧美日韩国产高清一区二区| 亚洲.国产.中文慕字在线| 黄色国产精品一区二区三区| 久久婷婷色综合| 国产乱国产乱300精品| 色悠久久久久综合欧美99| 亚洲激情欧美激情| 国产精品区一区二区三含羞草| 精品日韩在线一区| 国产一区二区三区观看| 色综合久久88色综合天天 | 蜜臀av亚洲一区中文字幕| 欧洲亚洲一区二区三区四区五区| 中文字幕精品三区| 91尤物视频在线观看| 91精品欧美综合在线观看最新| 青青草精品视频| 一区二区不卡在线| 亚洲自拍与偷拍| 久久久久久久久久久一区| 国产欧美一区二区精品性| 波多野结衣中文字幕一区| 欧美精品xxxxbbbb| 美女视频黄久久| 综合久久国产| 亚洲成国产人片在线观看| 欧美极品视频一区二区三区| 中文字幕在线免费不卡| 成人影片在线播放| 国产肉丝袜一区二区| 91偷拍与自偷拍精品| 欧美videos大乳护士334| 国产69精品久久777的优势| 欧美卡1卡2卡| 国内精品不卡在线| 欧美老年两性高潮| 蜜桃一区二区三区四区| 色噜噜狠狠色综合欧洲selulu| 天天色天天爱天天射综合| 亚洲一区三区视频在线观看| 性久久久久久久| 亚洲精品成人a8198a| 亚洲国产一二三| 日韩精品伦理第一区| 亚洲国产精品一区二区尤物区| 午夜老司机精品| 亚洲chinese男男1069| 亚洲精品久久区二区三区蜜桃臀 | 成人免费精品视频| 精品国产亚洲在线| 97se亚洲国产综合在线| 久久蜜臀中文字幕| 国产高清在线一区| 一区二区中文视频| 欧美国产一二三区| 亚洲自拍都市欧美小说| 亚洲 日韩 国产第一区| 日本中文一区二区三区| 欧美亚洲综合在线| 国产呦萝稀缺另类资源| 欧美精品久久99久久在免费线| 国产**成人网毛片九色| 精品国产乱码久久久久久影片| 91在线高清观看| 国产精品欧美极品| 欧美人与性禽动交精品| 午夜精品福利久久久| 欧美主播一区二区三区| 国产激情一区二区三区桃花岛亚洲| 91精品国产高清一区二区三区蜜臀| 国产不卡高清在线观看视频| 久久综合九色综合久久久精品综合| 不卡一卡2卡3卡4卡精品在| 亚洲婷婷在线视频| 亚洲欧洲精品一区二区| 久久99深爱久久99精品| 日韩欧美中文字幕公布| y111111国产精品久久婷婷| 综合久久综合久久| 影音先锋欧美在线| 国产伦精品一区二区三区免费| 精品国产91洋老外米糕| 国产三级精品在线不卡| 夜夜嗨av一区二区三区中文字幕 | 蜜桃精品视频在线| 欧美一级一区二区| 97中文在线观看| 亚洲卡通动漫在线| 在线精品亚洲一区二区不卡| 国产.精品.日韩.另类.中文.在线.播放| 久久久久高清精品| 蜜桃狠狠色伊人亚洲综合网站| 日本怡春院一区二区| 91精品国产91久久久久久最新毛片| 97视频资源在线观看| 一个色妞综合视频在线观看| 欧美在线观看一区二区| www.欧美亚洲| 亚洲柠檬福利资源导航| 欧美性猛片aaaaaaa做受| av色综合久久天堂av综合| 亚洲天堂免费看| 色久优优欧美色久优优| av在线播放不卡| 亚洲精品自拍动漫在线| 欧美日韩精品一区二区天天拍小说 | 91国偷自产一区二区开放时间| 国产91精品一区二区麻豆亚洲| 亚洲欧洲另类国产综合| 日本高清不卡一区| 97精品电影院| 亚洲成人自拍一区| 日韩欧美一区中文| 欧美久久久久久| 国产一区二区三区在线看麻豆| 欧美国产视频在线| 日本精品一级二级| 91嫩草在线| 日韩不卡在线观看日韩不卡视频| 精品国产乱码久久久久久免费| 日本一区视频在线| 成人免费视频app| 亚洲一区二区三区小说| 欧美一区二区啪啪| 欧美精品v日韩精品v国产精品| 国产自产2019最新不卡| 亚洲欧洲日产国产综合网| 欧美老女人在线| 农村寡妇一区二区三区| 国产成人综合在线| 一区二区三区蜜桃| 欧美电影免费观看高清完整版在| 日韩精品伦理第一区| proumb性欧美在线观看| 婷婷六月综合网| 久久久噜噜噜久久中文字幕色伊伊| 影音先锋亚洲视频| 99视频国产精品免费观看|