Python爬蟲實戰-帶你解析不同的名人名言網站❤️

1.輸入網址

quotes.toscrape.com/,進入網站首頁,觀察網頁的結構,咱們發現網頁的內容很清晰.html

主要分爲:名人名言,做者,標籤三個主要字段,同時三個字段的內容爲本次提取的內容。python

\編程

2.肯定需求,分析網頁結構

打開開發者工具,點擊networ進行網絡數據抓包分析,網站是以get方式進行請求,不須要攜帶參數,那咱們就能夠以request請求庫中的get()方法,進行模擬請求,須要帶上headers請求,模擬瀏覽器信息驗證,防止被網站服務器檢測爲爬蟲請求。瀏覽器

也能夠點擊開發者工具的最左邊小箭頭,能夠幫助咱們快速定位,網頁數據在element標籤頁所在的位置.服務器

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

3.解析網頁結構,提取數據。

請求成功以後,能夠開始提取數據啦~,我用的是xpath的解析方法,因此,先來解析xpath頁面,點擊最左邊小箭頭,能夠幫助咱們快速定位數據所,網頁數據在element標籤頁所在的位置.由於網頁的請求方式數據以列表的方式逐條排序,因此咱們能夠先定位整個列表的數據。在經過lxm中html解析器,逐個字段抓取並保存至列表,方便下一步的數據清洗.網絡

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

4.保存至csv文件.

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=\app

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)

若是沒有接觸過編程這塊的朋友看到這篇博客,發現不懂的或想要學習Python的,能夠直接留言+私我鴨【很是感謝你的點贊、收藏、關注、評論,一鍵四連支持】

ide

相關文章
相關標籤/搜索