1.輸入網址
https://quotes.toscrape.com/,進入網站首頁,觀察網頁的結構,我們發現網頁的內容很清晰.
主要分為:名人名言,作者,標簽三個主要欄位,同時三個欄位的內容為本次提取的內容,
\
2.確定需求,分析網頁結構
打開開發者工具,點擊networ進行網路資料抓包分析,網站是以get方式進行請求,不需要攜帶引數,那我們就可以以request請求庫中的get()方法,進行模擬請求,需要帶上headers請求,模擬瀏覽器資訊驗證,防止被網站服務器檢測為爬蟲請求,
也可以點擊開發者工具的最左邊小箭頭,可以幫助我們快速定位,網頁資料在element標簽頁所在的位置.

3.決議網頁結構,提取資料,
請求成功之后,可以開始提取資料啦~,我用的是xpath的決議方法,所以,先來決議xpath頁面,點擊最左邊小箭頭,可以幫助我們快速定位資料所,網頁資料在element標簽頁所在的位置.因為網頁的請求方式資料以串列的方式逐條排序,所以我們可以先定位整個串列的資料,在通過lxm中html決議器,逐個欄位抓取并保存至串列,方便下一步的資料清洗.

4.保存至csv檔案.
\
5.原始碼分享
import requests
from lxml import etree
import csv
url = "https://quotes.toscrape.com/"
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36'
}
res = requests.get(url,headers = headers).text
html = etree.HTML(res)
queto_list = html.xpath('//div[@class="col-md-8"]')
lists = []
for queto in queto_list:
# 名言正文
title = queto.xpath('./div[@class="quote"]/span[1]/text()')
# 作者
authuor = queto.xpath('./div[@class="quote"]/span[2]/small/text()')
# 名言標簽
tags = queto.xpath('./div[@class="quote"]/div[@class="tags"]/a[@class="tag"]/text()')
# 將資料統一添加進串列中保存
lists.append(title)
lists.append(authuor)
lists.append(tags)
with open("./名人名言.csv",'w',encoding='utf-8',newline='\n') as f:
writer = csv.writer(f)
for i in lists:
writer.writerow(x)
我是白又白i,一名喜歡分享知識的程式媛??
如果沒有接觸過編程這塊的朋友看到這篇博客,發現不懂的或想要學習Python的,可以直接留言+私我鴨【非常感謝你的點贊、收藏、關注、評論,一鍵四連支持】
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/293734.html
標籤:python
