這篇文章主要介紹Python爬蟲中如何抓取名人名言網(wǎng)站,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
公司主營業(yè)務:成都網(wǎng)站建設、網(wǎng)站制作、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)建站是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出龍亭免費做網(wǎng)站回饋大家。
1、輸入網(wǎng)址
quotes.toscrape.com/,進入網(wǎng)站首頁,觀察網(wǎng)頁的結構,我們發(fā)現(xiàn)網(wǎng)頁的內(nèi)容很清晰,
主要分為:名人名言,作者,標簽三個主要字段,同時三個字段的內(nèi)容為本次提取的內(nèi)容。
2、確定需求,分析網(wǎng)頁結構
打開開發(fā)者工具,點擊networ進行網(wǎng)絡數(shù)據(jù)抓包分析,網(wǎng)站是以get方式進行請求,不需要攜帶參數(shù),那我們就可以以request請求庫中的get()方法,進行模擬請求,需要帶上headers請求,模擬瀏覽器信息驗證,防止被網(wǎng)站服務器檢測為爬蟲請求。
也可以點擊開發(fā)者工具的最左邊小箭頭,可以幫助我們快速定位,網(wǎng)頁數(shù)據(jù)在element標簽頁所在的位置。
3、解析網(wǎng)頁結構,提取數(shù)據(jù)。
請求成功之后,可以開始提取數(shù)據(jù)啦~,我用的是xpath的解析方法,所以,先來解析xpath頁面,點擊最左邊小箭頭,可以幫助我們快速定位數(shù)據(jù)所,網(wǎng)頁數(shù)據(jù)在element標簽頁所在的位置.因為網(wǎng)頁的請求方式數(shù)據(jù)以列表的方式逐條排序,所以我們可以先定位整個列表的數(shù)據(jù)。在通過lxm中html解析器,逐個字段抓取并保存至列表,方便下一步的數(shù)據(jù)清洗。
4、保存至csv文件
源碼分享
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()') # 將數(shù)據(jù)統(tǒng)一添加進列表中保存 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爬蟲中如何抓取名人名言網(wǎng)站”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!