日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

手机写python爬虫_我用手机写了一个Python爬虫,爬下了《凡人修仙传》……

發(fā)布時(shí)間:2023/12/20 python 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 手机写python爬虫_我用手机写了一个Python爬虫,爬下了《凡人修仙传》…… 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

舞劍很喜歡閱讀網(wǎng)絡(luò)小說(shuō)。

凡人修仙傳,知北游,無(wú)限恐怖……等等,優(yōu)秀的網(wǎng)絡(luò)小說(shuō)很多,為此,我在三年前創(chuàng)辦了一個(gè)推書公眾號(hào)@無(wú)夢(mèng)解書荒。

專門用來(lái)推薦我覺得好看的網(wǎng)絡(luò)小說(shuō)。

小說(shuō)爬蟲

起因

老書蟲一般有兩個(gè)煩心事,第一,不知道看什么。第二,不知道去哪看。

第一個(gè),可以去找推書公眾號(hào),以及各大榜單掃榜。

第二個(gè),就沒那么容易了。

翻開百度一搜,廣告橫行,彈窗關(guān)都關(guān)不完,閱讀體驗(yàn)差的一批。

這時(shí)候,我們可以用 Python 爬蟲,將小說(shuō)從網(wǎng)頁(yè)端爬取下來(lái),整理成 TXT 文本,導(dǎo)入喜歡的閱讀APP觀看。

準(zhǔn)備

舞劍前面介紹了兩款 Python 集成開發(fā)環(huán)境,分別是 QPython 和? Pydroid 。

這一次,就用 Pydroid 來(lái)爬取小說(shuō)。

獲得 Pydroid * 1

Python 爬蟲,必須要觀看源碼,從源碼中尋找需要的資源與文本。可以直接用 Python 扒源碼,我這里建議用網(wǎng)頁(yè)源碼查看器,簡(jiǎn)單直觀。

獲得 Alook瀏覽器 * 1

開始

1. 獲取小說(shuō)地址

①我這里準(zhǔn)備爬取凡人流小說(shuō)《凡人修仙傳》

②隨機(jī)選取網(wǎng)址:

m.9txs.com/book/61781.html

2. 分析源碼地址

①? 首先爬取第一章《山邊小村》的文本內(nèi)容,點(diǎn)進(jìn)去第一章,可以發(fā)現(xiàn)網(wǎng)址鏈接后綴改變了。

m.9txs.com/book/61781/868469.html

多出了 /868469.html。

②? 用Milk瀏覽器打開網(wǎng)址,運(yùn)行腳本,可以查看源碼。

3. 爬取首頁(yè) TXT 文本

① 爬取整頁(yè)源碼。

舞劍這里準(zhǔn)備使用 requests 庫(kù),大家記得安裝好。

首先自定義方法 get_one _page(),用來(lái)爬取源碼并返回給 main()? 方法。

接下來(lái),在? main()? 函數(shù)中輸出源代碼。

代碼如下:

import requests

#獲取首頁(yè)源碼

def get_one_page( url ):

response = requests.get( url )

return response.text

def main():

url = 'http://m.9txs.com/book/61781/868469.html'

html = get_one_page( url )

print( html )

main()

②解析頁(yè)面,篩選內(nèi)容。

首先,來(lái)看看正文部分究竟在源碼的哪里。

嗯,在 div id=“main”>……中間。

章節(jié)標(biāo)題在 h1 class=“headline”>

正文內(nèi)容在 div class=“content”>

至于作者與書名,我們暫時(shí)不需要。

③編寫代碼,提取內(nèi)容

這里準(zhǔn)備使用 lxml 庫(kù)來(lái)爬取正文,沒安裝的小伙伴記得先安裝,很方便的。

首先,導(dǎo)入 lxml 庫(kù)的 etree 模塊。

然后,使用 etree 的 HTML() 方法來(lái)初始化源碼。

最后,使用xpath語(yǔ)法來(lái)抽取我們需要的內(nèi)容。

這里,新建一個(gè)方法 parse_one _page() 用來(lái)爬取資源。

代碼如下:

#解析源碼,提取正文

def parse_one_page( html ):

html = etree.HTML( html )

#標(biāo)題

title = html.xpath('//div[@id="main"]/h1/text()')

#正文

content = html.xpath('//div[@id="main"]/div[@class="content"]//text()')

print( title )

print( content )

需要的內(nèi)容為 title(標(biāo)題) 和 content(正文)。

這里的代碼輸出后,會(huì)得到兩個(gè)數(shù)組,分別記錄著標(biāo)題和正文的內(nèi)容。

內(nèi)容如下所示:

[‘第1章 山邊小村’]

[’\n\t’, ‘二愣子睜大著雙眼,直直望著茅草和爛泥糊成的黑屋頂,身上蓋 著的舊棉被,已呈深黃色,看不出原來(lái)的本來(lái)面目,還若有若無(wú)的散發(fā)著淡 淡的霉味。’, ‘\n’, ‘在他身邊緊挨著的另一人,是二哥韓鑄,酣睡的十分 香甜,從他身上不時(shí)傳來(lái)輕重不一的陣陣打呼聲。’, ‘\n’, ‘離床大約半丈 遠(yuǎn)的地方,是一堵黃泥糊成的……’, ‘……’, ‘\n\t’]

可以看到,這兩個(gè)數(shù)組的確是我們需要的內(nèi)容。

那么,就剩下最終的一步,將 爬取的小說(shuō)標(biāo)題和正文保存到 TXT 文本中。

寫入文檔,保存為TXT||4

保存為 TXT 文本很簡(jiǎn)單,只需要使用 Python 自帶的文件系統(tǒng)就可以了。

這里先新建一個(gè)方法 write_txt(), 用來(lái)保存 TXT文本。

接著使用內(nèi)置方法,創(chuàng)建 txt 文件 凡人修仙傳.txt,設(shè)置參數(shù)為 a+,表示可以追加內(nèi)容,最后使用 **write()**方法寫入即可。

代碼如下所示:

#保存TXT文本

def write_txt( result ):

with open( '/sdcard/凡人修仙傳.txt', 'a+' ) as f:

f.write( result )

接下來(lái),就是在 main() 方法中調(diào)用 **write_txt()**方法就行了,但這里有兩個(gè)問(wèn)題:

① parse_one _page()方法返回的是列表(list),不能直接寫入到 TXT 文本中。

②列表正文(content)中,除了小說(shuō)正文外,還包含了 “\n \t” 這些符號(hào),必須要去除后再寫入 txt文檔,才不會(huì)影響閱讀體驗(yàn)。

取出標(biāo)題

我們先取出 title(標(biāo)題)中的內(nèi)容, title 中只有一個(gè)內(nèi)容,所以只需要使用下標(biāo)為0的中括號(hào)就能取出,代碼如下所示:

write_txt( title[0] )

取出正文

接著要取出 content(正文)中的內(nèi)容, content 內(nèi)部包含了換行符(\n)和制表符(\t),它們散落在每一段文字的開頭與結(jié)尾,這里直接使用 join() 方法,用 \n 將內(nèi)容連接為 str(字符串)。

代碼如下所示:

write_txt( '\n'.join(content) )

最終會(huì)在手機(jī)根目錄生成 凡人修仙傳.txt 文本,打開后可以看到爬取的內(nèi)容一切正常。

后記

就這樣,用 Python 爬蟲爬下了凡人修仙傳第一章的內(nèi)容,是不是很簡(jiǎn)單。

至于其他章節(jié)的內(nèi)容,留在下一節(jié)繼續(xù)寫。

另外,源碼很簡(jiǎn)單,總共也就30行,如果有需要的小伙伴,記得關(guān)注我,后臺(tái)回復(fù):爬蟲01,獲取本次的代碼。

關(guān)于 Pydroid ,可以去翻翻我以前的文章,也可以后臺(tái)直接回復(fù):0003, 免費(fèi)領(lǐng)取。

文中用到的 Alook,嫌麻煩的小伙伴可以用其他的 via 等瀏覽器取代,只要可以查看源碼就行。

當(dāng)然,也可以后臺(tái)回復(fù):0008,或者直接回復(fù): Alook, 即可免費(fèi)獲取。

總結(jié)

以上是生活随笔為你收集整理的手机写python爬虫_我用手机写了一个Python爬虫,爬下了《凡人修仙传》……的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。