Python3網絡爬蟲(一)-小說爬取(以筆趣看網站小說爲例)

一 工具準備

我用的是Anaconda+PyCharm的組合
如何安裝使用看這篇教程就夠了:
URL: https://blog.csdn.net/yggaoeecs/article/details/78378938
非常詳細。

二 簡單爬取

1 安裝requests及BeautifulSoup庫

在pyCharm的終端(Terminal)中輸入:

pip install requests //安裝requests庫
pip install BeautifulSoup //安裝Beautiful庫
pip list //查看這兩個庫是否安裝成功

2 requests庫的使用

詳細使用方法請參閱官方中文教程地址:
URL: http://docs.python-requests.org/zh_CN/latest/user/quickstart.html

這裏我們主要用到的是requests.get()方法,這是獲取HTML網頁的主要方法,對應於HTTP的GET,requests.get()方法實際上就是模仿瀏覽器向服務器發送GET請求,並從服務器獲得數據。

下面以訪問筆趣看主頁爲例展示requests.get()方法的使用:

import requests #首先需要導入requests庫
target = 'https://www.biqukan.com/'#將筆趣看網址保存爲字符串變量
req = requests.get(url=target)#使用requests.get()方法獲取筆趣看網址主頁頁面內容
print(req.text)#以文本方式在屏幕上打印出來

運行結果如下:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>筆趣閣,新筆趣閣小說閱讀網,筆趣閣打不開就來 - 筆趣看小說網</title>
<meta name="keywords" content="筆趣閣,新筆趣閣" />
<meta name="description" content="筆趣閣是廣大書友比較喜歡的小說閱讀網,而筆趣看則是筆趣閣小說閱讀網的備份網站,收錄了當前最熱門、最火爆的小說,筆趣閣打不開就來筆趣看小說網!2016新筆趣閣歡迎收藏!" />
<meta http-equiv="Cache-Control" content="no-transform" />
<meta http-equiv="Cache-Control" content="no-siteapp" />
<meta http-equiv="mobile-agent" content="format=html5; url=https://m.biqukan.com" />
<meta http-equiv="mobile-agent" content="format=xhtml; url=https://m.biqukan.com" />
<link href="/css/style.css" rel="stylesheet" type="text/css" />
<script src="/xxgg/common.js"></script>

至此。我們獲得了筆趣看主頁的HTML信息。

3 BeautifulSoup庫的使用

詳細使用方法請參閱官方中文教程地址:
URL:http://beautifulsoup.readthedocs.io/zh_CN/latest/
爬蟲的第一步,獲取整個網頁的HTML信息,我們已經完成。接下來就是爬蟲的第二步,解析HTML信息,提取我們感興趣的內容。
在google chrome瀏覽器中我們可以看到與requests.get()方法得到的相同的HTML信息,具體查看方法如下:
(1)首先打開開發者模式首先打開開發者模式
(2)在開發者模式中找到感興趣的內容在這裏插入圖片描述
(3)找到HTML網頁信息中的關鍵字在這裏插入圖片描述

文章的所有內容都放在了一個名爲div的“東西下面”,這個”東西”就是html標籤。HTML標籤是HTML語言中最基本的單位,HTML標籤是HTML最重要的組成部分。
關鍵字部分:

<div id="content", class="showtxt">

根據關鍵字部分,我們就可以使用Beautiful Soup提取我們想要的內容了,編寫代碼如下:

import requests
from bs4 import BeautifulSoup
target = 'https://www.biqukan.com/1_1094/5403177.html'
req = requests.get(url=target)
html = req.text
soup = BeautifulSoup(html, 'html.parser')
texts = soup.select('.showtxt')//根據關鍵字中的class,應用BeautifulSoup的select()方法可以得到小說正文的內容。
print(texts[0].text.replace(' ', '\n').replace('\xa0'*8, '\n'))

得到結果如下:
在這裏插入圖片描述
正文內容已經被抓取並且打印在輸出中。

三 整合代碼

這部分有空再填坑吧,哈哈哈

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章