爬蟲練習之了解反爬蟲機制

2021-10-19 09:50:00 字數 2188 閱讀 1877

沒學習之前我理解字面意思就是你爬蟲**,然後該**順著你的ip等會對你的網路電腦等造成損失

最簡單的是你爬**獲取不到正確的資訊

案例 爬取拉勾網python職位的薪資等

我們可以看到一般**並不能獲取到需要的資訊

瀏覽器訪問**的時候除了會傳送url,引數等內容外,還會給伺服器端傳遞一些額外的請求頭(request header)。例如user-agent,referer,host等等。簡單的爬蟲不做處理傳送請求相關的請求頭要麼為空,要麼沒有,要麼內容不對

加入請求頭 request.request

很多**會檢測 某一段時間某個ip的訪問次數(通過流量統計,系統日誌等),如果訪問次數 多的不像正常人去訪問,就會判別為爬蟲程式並且禁止這個ip的訪問。所以我們需要設定一些**伺服器,過段時間可以換一下**ip,這樣可以爬蟲程式的正常執行。

urllib庫中通過 proxyhandler來設定使用**伺服器,下面做一下介紹

我們可以使用**來檢視http的一些引數資訊,包括ip

#不使用**

from urllib import request

#沒有使用**

url = '/ip'

resp=request.urlopen(url)

print(resp.read())

#返回你的ip位址

常用的**有:

快**:

·**雲: http:// www.dailiyun.com/

from urllib import request

#使用**

#1.使用proxyhandler,傳入**構建乙個handler

#2.使用上面建立的handler建立乙個oprner

#3.使用opener傳送乙個請求

url = '/ip'

handler=request.proxyhandler()

opener=request.build_opener(handler)

resp=opener.open(url)

print(resp.read())

1.python網路請求錯誤「connectionrefusederror: [winerror 10061] 由於目標計算機積極拒絕,無法連線」

解決方法:

隨便什麼瀏覽器點開設定-->**設定-->彈出internet屬性-->區域網設定-->自動檢測設定-->重啟pycharm即可

換個**,付費的可能好點

有些**的cookie值只能使用一次如拉勾網的,開啟會就不能使用了,所以ctrl+c,ctrl+v就傻眼了吧,給你們舉個例子吧

cookie就是用來記錄使用者資訊的,拉勾網的cookie就只能使用一次,就像機票一樣,所以我必須要先辦一張票再去乘機,來看一下我申請辦理的流程

import requests

url = ''

headers =

session = requests.session()

session.get(url=url,headers=headers)

cookies = session.cookies

print(cookies.get_dict())

爬蟲(一)反爬蟲機制

爬蟲用久了,總是會被封的。魯迅 有些 特別是一些陳年老站,沒有做過反爬蟲機制的,我們可以盡情地爬,愉快地爬,把它們的 資料全都爬下來。最多出於情懷考慮,我們爬慢一點,不給它的伺服器太大壓力。但是對於有反爬蟲機制的 我們不能這樣。最簡單的反爬蟲機制應該是u a校驗了。瀏覽器在傳送請求的時候,會附帶一部...

glidedsky爬蟲之css反爬蟲

author cjp file cssfan.py time 2020 9 11 16 37 import re from operator import itemgetter import requests from lxml import etree defgao url items heade...

python3爬蟲 反爬蟲應對機制

前言 訪問終端限制 這種可通過偽造動態的ua實現 訪問次數限制 一般通過cookie ip定位,可通過禁用cookie,或使用cookie池 ip池來反制 訪問時間限制 延遲請求應對 盜鏈問題 通俗講就是,某個網頁的請求是有跡可循的,比如知乎的問題回答詳情頁,正常使用者行為必然是先進入問題頁,在進入...