日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python利用requests抓取页面源代码(基础)

發布時間:2023/12/14 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python利用requests抓取页面源代码(基础) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python利用requests抓取頁面源代碼(基礎)

Requests模塊是一個用于網絡訪問的模塊.

由于使用到的requests庫為第三方庫,需要事先對其進行安裝

1.1安裝requests

(1)利用cmd安裝,首先確保Python已經下載入電腦內,然后啟動cmd控制臺,輸入pip install requests,等待下載完成即可

(2)利用pycharm安裝,在pycharm的Terminal中輸入 pip install requests 命令進行request的安裝

回車等待安裝完畢即可

1.2網頁請求方式

了解一下網頁請求方式

一般來說,我們我們所使用的HTTP協議或者HTTPS協議,使用的請求方式最常見的有GET方式和POST方式

  • GET方式:是最常見的HTTP方法之一,用于從指定資源請求數據,不需要在瀏覽器中輸入鏈接之外的東西,只是想要獲取一些資源,例如網頁源代碼
  • POST方式:用于將數據發送到服務器來創建或者更新資源,在訪問某個網頁之前需要用戶輸入鏈接之外的東西,需要發送給服務器,這樣服務器才能根據你發送的信息來返回響應。

2.使用

2.1爬取搜索關鍵字頁面數據

以搜狗搜索周杰倫為例

在搜狗搜索引擎中鍵入“周杰倫”后,得到的網址如下

https://www.sogou.com/web?query=鄧紫棋&_asf=www.sogou.com&_ast=&w=01015002&p=40040108&ie=utf8&from=index-nologin&s_from=index&oq=&ri=0&sourceid=sugg&suguuid=&sut=0&sst0=1634387928175&lkt=0%2C0%2C0&sugsuv=1634387082744536&sugtime=1634387928175

我們只保留“https://www.sogou.com/web?query=鄧紫棋”的地址(這個地址同樣可以完成請求命令)

import requests #首先導入requestsurl = "https://www.sogou.com/web?query=鄧紫棋" resp = requests.get(url) #由抓包工具可知使用get方法請求 print(resp) resp.close()

運行結果為

從結果可知,我們的請求命令成功,并且得到了服務器回應

隨后我們將響應內容輸出

可以選擇不同的輸出內容,在這里我們選擇text來查看源代碼

2.2攔截處理

隨后檢查源代碼發現我們的請求遭到了攔截,原因可能是是服務器認為我們的這次請求是通過自動化程序發出的而不是正常瀏覽器發出的

解決這個問題我們可以進行一個小小的偽裝,用瀏覽器打開我們請求的頁面的抓包工具的Network后刷新頁面,選擇其中的一個目標中找到User-Agent

headers = { #準備一個headers "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36 Edg/94.0.992.47" } resp = requests.get(url,headers = headers)#將得到的User-Agent賦給headers來進行偽裝

再次運行抓取,我們便得到了該頁面的源代碼

2.3改進(實現用戶自主查詢+將源代碼寫入文件)

#實現用戶輸入想要搜索的人物或者關鍵字,并進行抓取 import requestsquary = input("輸入一個你喜歡的明星") url = f"https://www.sogou.com/web?query={quary}" headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36 Edg/94.0.992.47" }resp = requests.get(url,headers = headers) with open("result.txt", mode="w",encoding="UTF-8") as f: #將源代碼寫入文件,將編碼格式改為UTF-8f.write(resp.text) f.close() resp.close() #記得關閉

這樣我們就完成了利用requests庫來抓取網頁源代碼(有了源代碼,就可以獲得更多的我們想要的數據了,這也是數據抓取的第一步)

總結

以上是生活随笔為你收集整理的Python利用requests抓取页面源代码(基础)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。