python爬蟲實戰之圖靈社區圖書信息的爬取(找了久,才找到一個比較好爬取的網站)

python爬蟲實戰之圖靈社區圖書信息的爬取

程序的描述

  • 目標
    • 獲取圖靈社區(https://www.ituring.com.cn/book)中40本圖書的書名
    • 將獲取的信息以列表的形式輸出到屏幕上,並加上相關的序號
  • 描述:
    • 獲取翻頁接口
    • 獲取相關信息的位置
  • 技術路線:requests——BeautifulSoup庫

準備工作

  • 獲取翻頁的關鍵字

自然而然地就看見關鍵字是page,修改&page就可以翻頁

在這裏插入圖片描述

  • 獲取書名和作者地在網頁中的信息

    • 自然而然地看見,有四個書名,從形式上來看,三個用字符串保存,一個用標籤保存。所以這裏採用標籤式,而用標籤,重點在於分析清楚標籤之間地彼此架構關係,通過對比發現< h4 > … < /h4 >,所有地h4標籤裏面都是書名

在這裏插入圖片描述

程序編寫

  • 第一步,確定步驟,並將所有的步驟

    • 提交網頁的url,循環獲取頁面 getHTMLText()
    • 對於每個頁面,提取每本圖書的名稱getNAME()
    • 將信息輸出到屏幕上 printBOOKLIST()
    • 採用main函數將所有的函數連接起來
  • 第二步,逐步完善

from bs4 import BeautifulSoup
import requests

# 獲取相關的網址
def getHTML(url):
    r = requests.get(url,timeout = 30)
    r.raise_for_status()
    r.encoding = r.apparent_encoding
    return r.text

# 對網頁的text內容進行分析
def paesrHTML(text,ilt):
    soup = BeautifulSoup(text,'html.parser')
    for i in soup('h4'):
        ilt.append(i.string)


# 將分析的內容進行輸出
def printMessage(ilt):
    text = '{:<10}\t{:<10}'
    print(text.format("序號","書名"))
    count = 1
    for i in ilt:
        print(text.format(count,i))
        count += 1

def main():
    url = "https://www.ituring.com.cn/book?tab=book&sort=hot&page="
    page = 0
    ilt = list()
    for i in range(4):
        text = getHTML(url + str(i))
        paesrHTML(text,ilt)
    printMessage(ilt)

main()

在這裏插入圖片描述

總結
  • 雖然很簡單,而且有點搓,但是畢竟是第一次獨立的編寫爬蟲軟件,發現很多東西並沒有融會貫通,寫的時候還是會看很多的參考信息
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章