python爬蟲17K小說網資料

2021-10-08 12:49:49 字數 3369 閱讀 1243

python爬蟲17k**網資料

有一些庫可能沒有用,當時寫的時候參考了很多書籍資料,書籍裡用了,我沒有用,但是本著懶的原則,我就沒有特意把那些沒有用到的庫刪掉。

因為我們老師對注釋特別強調,為了不讓老師抓錯,我就把除了import的**外的**都加了注釋。

from bs4 import beautifulsoup

from datetime import datetime

import urllib.request

import requests

import re

from requests import requestexception

import os

from xlwt import

*import xlwt

import xlrd

import pip

import pandas as pd

from lxml import etree

from openpyxl import workbook

url=

''#爬取的目標**

newurl=

''#目標**的主**

headers=

#身份表示

#根據得到的url獲取html檔案

request=urllib.request.request(url,headers=headers)

for i in

range(0

,9):

#輸出8個頁面的資料

data=

url2=

'all/book/2_22_0_0_0_0_0_1_'

+str

(i*30)+

'.html'

#輸出的頁面們的**,根據for迴圈的i來表示更改

res=requests.get(url2,headers=headers)

#獲取這個**的檔案內容

res = requests.get(url2)

# 開啟網頁並且閱讀

res.encoding =

'utf-8'

# 網頁解碼為utf-8

soup = beautifulsoup(res.text,

'html.parser'

)# 解析網頁

html2=res.content.decode(

'utf-8'

)#**轉碼為utf-8

print

('*'*10

+str

(i)+

'頁'+

'*'*10)

#區分爬取到了哪一頁

result =

#將儲存資料為字典的形式,字典的名字叫result

for news in soup.select(

'.alltextmiddle'):

#資訊在.alltextmiddle這個類裡面,需要迴圈取出if(

len(news.select(

'div.alltextlist>div.alltextmiddle>dl>dt>a'))

>0)

:#去除為空的資料

name=news.select(

'div.alltextlist>div.alltextmiddle>dl>dt>a')[

0].text

#書名主要被儲存在div.alltextlist>div.alltextmiddle>dl>dt>a這個路徑裡面

a=news.select(

'div.alltextlist>div.alltextmiddle>dl>dt>a')[

0]['href'

]#書的鏈結主要被儲存在div.alltextlist>div.alltextmiddle>dl>dt>a,鏈結

writer=news.select(

'div.alltextlist>div.alltextmiddle>dl>dd>ul>li>span.ls>a')[

0].text

#儲存書的作者名稱

time=news.select(

'cite')[

0].text

#書的最新更新時間的儲存

zishu=news.select(

'code')[

0].text

#儲存書寫到目前為止的總字數

biaoqian=news.select(

'div.alltextlist>div.alltextmiddle>dl>dd>ul>li.bq10>p>a')[

0].text

#儲存這本書的標籤

result[

'書名'

]=name

#字典的key是書名,value值是name,一一對應

result[

'鏈結'

]=a

#字典的key是書的鏈結,value值是a,一一對應

result[

'作者'

]=writer

#字典的key是書的作者,value值是writer,一一對應

result[

'最近更新時間'

]=time

#字典的key是最近更新時間,value值是time,一一對應

result[

'字數'

]=zishu

#字典的key是字數,value值是zishu,一一對應

result[

'標籤'

]=biaoqian

#字典的key是標籤,value值是biaoqian,一一對應

print

(f''

)#輸出整個儲存資料的result字典

#儲存資料

with

open

(r'h1.csv'

,'a'

,encoding=

'utf-8'

)as f:

#儲存在h1.csv裡面,指定的開啟方式是以a(追加的方式),指定的編碼為'utf-8'

f.write(

'{},{},{},{},{},{}\n'

.format

(name,a,writer,time,zishu,biaoqian)

)#寫入檔案

執行儲存在csv檔案:

流程圖:

(有點瞎畫的嫌疑,因為我雖然知道過程是怎麼做的,但是流程圖畫的很水。)

以後繼續努力呀~

全本小說網小說爬蟲

coding utf 8 import requests from pyquery import pyquery import re import os 構造請求頭 headers todo 1.根據 鏈結得到 目錄和對應的url def get catalogue url 傳送請求 respons...

酷虎小說網爬蟲

import requests from pyquery import pyquery import re import os 構造請求頭 headers todo 1.根據 鏈結得到 目錄和對應的url def get catalogue url 傳送請求 response requests.ge...

入門級爬蟲 17k小說站爬取指定小說

執行py檔案前,需要先安裝這2個包 pip install beautifulsoup4 pip install requests usr bin env python3.7 coding utf 8 author by slo from bs4 import beautifulsoup impor...