??大家好,我是不溫卜火,是一名計算機學院大資料專業大三的學生,昵稱來源于成語—
不溫不火,本意是希望自己性情溫和,作為一名互聯網行業的小白,博主寫博客一方面是為了記錄自己的學習程序,另一方面是總結自己所犯的錯誤希望能夠幫助到很多和自己一樣處于起步階段的萌新,但由于水平有限,博客中難免會有一些錯誤出現,有紕漏之處懇請各位大佬不吝賜教!暫時只在csdn這一個平臺進行更新,博客主頁:https://buwenbuhuo.blog.csdn.net/,
PS:由于現在越來越多的人未經本人同意直接爬取博主本人文章,博主在此特別宣告:未經本人允許,禁止轉載!!!
目錄
- 一、網頁分析
- 二、代碼實作
- 三、運行結果

現在的博主正在發呆,無意之中打開了扇貝Python必背詞匯的網址,那么既然打開了,再加上博主挺無聊的,那么就嘗試爬取一下這個網頁!

扇貝Python必背詞匯網址:https://www.shanbay.com/wordlist/110521/232414/
一、網頁分析
我們打開此網站之后,通過以往爬取網頁的經驗,會發現此網頁特別容易爬取,

大概查看了網頁,我們只需爬取單詞和含義即可,首先我們先來查看網頁原始碼

下面分別把他們決議出來:


🆗,分析完畢后,我們就可以通過代碼進行實作了,
etree_obj = etree.HTML(html)
word_list = etree_obj.xpath('//strong/text()')
explain_list = etree_obj.xpath('//td[@class="span10"]/text()')
item_zip = zip(word_list,explain_list)
for item in item_zip:
items.append(item)
分析完內容,下面就開始分析分頁,鑒于此URL只有三頁URL,因此,博主就使用最簡單的方式,把Url拼接出來
base_url = "https://www.shanbay.com/wordlist/110521/232414/?page={}"
for i in range(1, 4):
url = base_url.format(i)
print(url)


二、代碼實作
# encoding: utf-8
'''
@author 李華鑫
@create 2020-10-08 8:10
Mycsdn:https://buwenbuhuo.blog.csdn.net/
@contact: 459804692@qq.com
@software: Pycharm
@file: 作業:爬扇貝Python必背詞匯.py
@Version:1.0
'''
import csv
import requests
from lxml import etree
"""
https://www.shanbay.com/wordlist/110521/232414/?page=1
https://www.shanbay.com/wordlist/110521/232414/?page=2
https://www.shanbay.com/wordlist/110521/232414/?page=3
//strong # en
//td[@class="span10"] # cn
"""
base_url = "https://www.shanbay.com/wordlist/110521/232414/?page={}"
headers={
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36',
}
items =[]
def parse_url(url):
"""決議url,得到回應內容"""
response = requests.get(url=url,headers=headers)
return response.content.decode("utf-8")
def parse_html(html):
"""使用xpath決議html"""
etree_obj = etree.HTML(html)
word_list = etree_obj.xpath('//strong/text()')
explain_list = etree_obj.xpath('//td[@class="span10"]/text()')
item_zip = zip(word_list,explain_list)
for item in item_zip:
items.append(item)
def svae():
"""將資料保存到csv中"""
with open("./shanbei.csv", "a", encoding="utf-8") as file:
writer = csv.writer(file)
for item in items:
writer.writerow(item)
def start():
"""開始爬蟲"""
for i in range(1, 4):
url = base_url.format(i)
html = parse_url(url)
parse_html(html)
svae()
if __name__ == '__main__':
start()
三、運行結果


美好的日子總是短暫的,雖然還想繼續與大家暢談,但是本篇博文到此已經結束了,如果還嫌不夠過癮,不用擔心,我們下篇見!

??好書不厭讀百回,熟讀課思子自知,而我想要成為全場最靚的仔,就必須堅持通過學習來獲取更多知識,用知識改變命運,用博客見證成長,用行動證明我在努力,
??如果我的博客對你有幫助、如果你喜歡我的博客內容,請“點贊” “評論”“收藏”一鍵三連哦!聽說點贊的人運氣不會太差,每一天都會元氣滿滿呦!如果實在要白嫖的話,那祝你開心每一天,歡迎常來我博客看看,
??碼字不易,大家的支持就是我堅持下去的動力,點贊后不要忘了關注我哦!


轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/192675.html
標籤:python
上一篇:提權

