Python爬蟲 模擬瀏覽器訪問 Requests

2021-09-29 14:42:27 字數 1423 閱讀 8645

有時候爬蟲需要加入請求頭來偽裝成瀏覽器,以便更好的抓取資料.

開啟瀏覽器chrome找到user-agent進行複製

'',headers=headers #get方法新增請求頭

)print(res.text)

#執行結果:

requests庫不僅有get()方法,還有post()等方法.post()方法用於提交表單來爬取需要登入才能獲得資料的**.

requests庫的錯誤和異常主要有以下4種:

1.requests丟擲乙個connectionerror異常,原因為網路問題(如dns查詢失敗、拒絕連線等)

2.requests.raise_for_status()丟擲乙個httperror異常,原因為http請求返回了不成功的狀態碼(如網頁不存在,返回404錯誤時)

3.requests丟擲乙個timeout異常,原因為請求超時

4.requests丟擲乙個toomanyredirects異常,原因為請求超時了設定最大重定向次數。

所有requests顯示丟擲的異常都繼承了自requests.exceptions.requestexception,當發現這些錯誤或異常進行**修改重新再來時,爬蟲的程式有開始重新執行了,爬去到的資料又會重新爬取一次,這對爬蟲的效率和質量來說都是不利的。這個可以用try來避免異常。

#!/usr/bin/python

# -*- coding: utf-8 -*-

#author: zhaosj

import requests

headers =

res = requests.get(

'',headers=headers #get方法新增請求頭

)try:

print(res.text)

except connectionerror:

print('拒絕連線')

#通過try和except,如果請求成功了,會列印網頁的原始碼,如果請求出現connectionerror異常,則會列印「拒絕連線」,這樣程式就不會報錯了。不會影響下面**的執行.

Python爬蟲模擬瀏覽器示例

抓取 網頁中的所有出版社的名稱。網頁如圖 方法1 import re import urllib.request from urllib.request import urlopen,request pattern 使用正規表示式抽取,輸出的東西在 之中 headers 模擬瀏覽器 ret requ...

python爬蟲2之簡單模擬瀏覽器

有時在利用爬蟲爬取一些 時,會出現403錯誤 forbidden。這是因為一些 進行了一些反爬蟲的設定。於是需要將爬蟲偽裝成瀏覽器,可以設定user agent資訊。以下介紹兩種讓爬蟲模擬成瀏覽器訪問 的方法。1使用build opener 修改報頭。5步 import urllib.request...

Python 爬蟲瀏覽器偽裝技術

瀏覽器偽裝技術實戰 1 常見的反爬蟲和應對方法 前兩種比較容易遇到,大多數 都從這些角度來反爬蟲。第三種一些應用ajax的 會採用,這樣增大了爬取的難度。通過headers反爬蟲 基於使用者行為反爬蟲 動態頁面的反爬蟲 2 請求頭headers介紹 1 請求 客戶端 服務端 request get ...