重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
Python爬取網(wǎng)頁信息的步驟
以爬取英文名字網(wǎng)站(https://nameberry.com/)中每個(gè)名字的評(píng)論內(nèi)容,包括英文名,用戶名,評(píng)論的時(shí)間和評(píng)論的內(nèi)容為例。
1、確認(rèn)網(wǎng)址
在瀏覽器中輸入初始網(wǎng)址,逐層查找鏈接,直到找到需要獲取的內(nèi)容。
在打開的界面中,點(diǎn)擊鼠標(biāo)右鍵,在彈出的對(duì)話框中,選擇“檢查”,則在界面會(huì)顯示該網(wǎng)頁的源代碼,在具體內(nèi)容處點(diǎn)擊查找,可以定位到需要查找的內(nèi)容的源碼。
注意:代碼顯示的方式與瀏覽器有關(guān),有些瀏覽器不支持顯示源代碼功能(360瀏覽器,谷歌瀏覽器,火狐瀏覽器等是支持顯示源代碼功能)
步驟圖:
1)首頁,獲取A~Z的頁面鏈接
2)名字鏈接頁,獲取每個(gè)字母中的名字鏈接(存在翻頁情況)
3)名字內(nèi)容頁,獲取每個(gè)名字的評(píng)論信息
2、編寫測試代碼
1)獲取A~Z鏈接,在爬取網(wǎng)頁信息時(shí),為了減少網(wǎng)頁的響應(yīng)時(shí)間,可以根據(jù)已知的信息,自動(dòng)生成對(duì)應(yīng)的鏈接,這里采取自動(dòng)生成A~Z之間的連接,以pandas的二維數(shù)組形式存儲(chǔ)
def get_url1(): urls=[] # A,'B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z' a=['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'] #自動(dòng)生成A~Z的鏈接 for i in a: urls.append("https://nameberry.com/search/baby_names_starting_with/%s" %i) dp=pd.DataFrame(urls) dp.to_csv("A~Z_Link1.csv",mode="a",encoding='utf_8_sig') #循環(huán)用于在每個(gè)字母鏈接下,調(diào)用爬取名字鏈接的頁面的函數(shù),即函數(shù)嵌套 for j in urls: get_pages_Html(j) return urls