爬虫-实现一个简易的网页采集器
生活随笔
收集整理的這篇文章主要介紹了
爬虫-实现一个简易的网页采集器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 requests模塊的基本使用
""" 爬蟲 """ """ 什么是爬蟲?就是通過編寫程序模擬瀏覽器上網,然后讓其去互聯網上爬取數據的過程 爬蟲的分類:通用爬蟲:抓取互聯網中的一整張頁面數據聚焦爬蟲:抓取頁面中的局部數據增量式爬蟲:用來監測網站數據更新的情況,以便爬取到網站最新更新出來的數據 """ """ requests模塊:Python中封裝好的一個基于網絡請求的模塊。 作用:用來模擬瀏覽器發請求requests模塊的編碼流程:1.指定url2.發起請求3.獲取響應數據4.持久化存儲 """import requests""" 第一版:中文亂碼 """ # 爬取百度首頁 baidu_url = 'https://www.baidu.com/' # 請求發送get:get返回值是一個響應對象 response = requests.get(url=baidu_url) # 響應對象返回的是以字符串形式存儲的響應數據 data = response.text print(data) # 將爬取到的數據存進文件里 with open('baidu.html', encoding='utf-8', mode='w') as f:f.write(data)""" 第一版:解決中文亂碼 """# 爬取百度首頁 baidu_url = 'https://www.baidu.com/' # 請求發送get:get返回值是一個響應對象 response = requests.get(url=baidu_url) # 修改響應數據的編碼格式 response.encoding = 'utf-8' # 響應對象返回的是字符串形式的響應數據 data2 = response.text print(data2)with open('baidu2.html', encoding='utf-8', mode='w') as f:f.write(data)2 實現一個簡單的網頁采集器
""" UA(User-Agent)檢測:門戶網站通過檢測請求載體的身份標識判定改請求是否為爬蟲發起的請求,是的話會被拒絕訪問。 UA偽裝:將爬蟲發起的請求偽裝成瀏覽器的身份標識 Microsoft Edge瀏覽器的User-Agent:(檢查-網絡 里面去查找這個,見下面圖片)Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.60 Safari/537.36 Edg/100.0.1185.29 """import requests# 利用搜狗引擎搜索中國的url,"https://www.sogou.com/web?query=中國",#需要讓url攜帶的參數動態化,觀察結構 keyword_url = "https://www.sogou.com/web?" # 實現參數動態化 you_want_search = input("請輸入需要查找的關鍵字:") # 將輸入的參數存儲成一個字典,鍵為url的關鍵字 key_dict = {'query': you_want_search}# 解決UA檢測:偽裝成Microsoft Edge瀏覽器的身份標識 head = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.60 Safari/537.36 Edg/100.0.1185.29' }# params = 請求參數; response = requests.get(url=keyword_url, params=key_dict, headers=head)# 修改響應數據的編碼格式,防止亂碼 response.encoding = 'utf-8' # 返回的是字符串形式的響應數據 datas = response.textprint(datas) filename= you_want_search + '.html' with open(filename, encoding='utf-8', mode='a') as f:f.write(datas)3 瀏覽器的身份標識獲取:User-Agent
(1)對網頁右鍵,選擇“檢查”
(2)選擇 “網絡”,如下圖步驟
總結
以上是生活随笔為你收集整理的爬虫-实现一个简易的网页采集器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 投屏工具
- 下一篇: C语言编译、链接和运行详解