Python之起點中文網爬蟲

2021-10-01 08:10:10 字數 2339 閱讀 7126

注:請勿用於其他用途,僅供學習使用

import requests

import re

import os

from lxml import etree

head =

defget_page

(book_id)

:"""獲取章節字段"""

# 所有章節介面https:

b_url =

''# 獲取文章內容

b_p_url =

''# **名//*[@id="j_textwrap"]/div/div/h1

# 章節名//div//h3/span/text()[1]

# 內容//div//p/span/text()

url = b_url + book_id

try: r = requests.get(url, headers=head)

r.raise_for_status(

) r.encoding =

'utf-8'

print

('獲取完成!。。。'

)# 章節詳細頁

page_list = re.findall(r''

, r.text)

# 建立**資料夾

n_url =

''+ book_id

r1 = requests.get(n_url, headers=head)

r1.raise_for_status(

) r1.encoding =

'utf-8'

novel_name = etree.html(r1.text)

.xpath(

'/html/body/div/div[6]/div[1]/div[2]/h1/em/text()')[

0]os.mkdir(

'./%s'

% novel_name)

# d_url = b_p_url + page_list[0]

# r2 = requests.get(d_url, headers=head)

# r2.encoding = 'utf-8'

# ttt = etree.html(r2.text).xpath('//div//h3/span/text()[1]')[1]

# j = '\n'

# content = j.join(ttt)

# print(content)

# print(ttt)

for each in page_list:

d_url = b_p_url + each

try: r2 = requests.get(d_url, header=head)

r2.raise_for_status(

) r2.encoding =

'utf-8'

# 內容

ttt = etree.html(r2.text)

.xpath(

'//div[@class="read-content j_readcontent"]/p/text()'

) j =

'\n'

content = j.join(ttt)

# 章節名

p_name = etree.html(r2.text)

.xpath(

'//div//h3/span/text()[1]')[

1]# 寫入檔案

with

open

('./%s/%s.txt'

%(novel_name, p_name)

,'w'

)as f:

f.write(content)

print

("finish"

)except exception as results:

print

(results)

except exception as result:

print

(result)

defmain()

:# u = input('將起點中文網**主頁鏈結貼上此處(請以+結尾):')

# 匹配出**id:1013414929#catlog來得到bookid

b_id = re.findall(r'(\d+)'

, u)[0

] get_page(b_id)

if __name__ ==

'__main__'

: main(

)

python 3 爬起點中文網,簡單分析

python 3之後,爬蟲相對來說簡單一些。主要會用到requests和beautifulsoup庫,reuqests代替瀏覽器傳送http請求並返回內容,返回的內容之前都是用正規表示式處理,當然現在也可以,不過現在beautifulsoup庫用得比較多。beautifulsoup處理html標籤,...

小刀 從起點中文網看SEO的發展勢在必然

最近起點 網有本非常熱門的玄幻 鬥破蒼穹 我說你可能不信,不過大家可以到搜尋中心看 搜尋排行榜。大家都喜歡的 我沒理由不去看,可起點在盛大旗下,不是vip無法閱讀最新章節,無奈,只能去看有哪位好心人免費提供最新章節了。一下鬥破蒼穹,因為我從事的是seo推廣工作,所以我就順便看了看首頁的排名情況,出乎...

2 C語言中文網學習Python

1.python注釋 單行注釋 多行注釋 說明多行 的功能時一般將注釋放在 的上一行,說明單行 的功能時一般將注釋放在 的右側 2.縮排 和其它程式語言 如 j a c 語言 採用大括號 分隔 塊不同,python 採用 縮排和冒號 來區分 塊之間的層次 3.內建函式和標準庫函式是不一樣的。4.算術...