-
什么是代理
-
代理服務器
-
-
代理服務器的作用
-
就是用來轉發請求和響應
-
-
在爬蟲中為何需要使用代理?
-
有些時候,需要對網站服務器發起高頻的請求,網站的服務器會檢測到這樣的異常現象,則會講請求對應機器的ip地址加入黑名單,則該ip再次發起的請求,網站服務器就不在受理,則我們就無法再次爬取該網站的數據。
-
使用代理后,網站服務器接收到的請求,最終是由代理服務器發起,網站服務器通過請求獲取的ip就是代理服務器的ip,并不是我們客戶端本身的ip。
-
-
代理的匿名度
-
透明:網站的服務器知道你使用了代理,也知道你的真實ip
-
匿名:網站服務器知道你使用了代理,但是無法獲知你真實的ip
-
高匿:網站服務器不知道你使用了代理,也不知道你的真實ip(推薦)
-
-
代理的類型(重要)
-
http:該類型的代理服務器只可以轉發http協議的請求
-
https:可以轉發https協議的請求
-
-
如何獲取代理?
-
攜趣代理:ip代理_長短效動靜態ip代理_優質高速在線ip代理_攜趣網絡代理ip服務商
-
-
如何使用代理?
-
測試:訪問如下網址,返回自己本機ip
-
import requests
from lxml import etree
headers = {'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36',
}
url = 'http://www.cip.cc/'page_text = requests.get(url,headers=headers).text
tree = etree.HTML(page_text)
text = tree.xpath('/html/body/div/div/div[3]/pre/text()')[0]
print(text.split('\n')[0])
- 使用代理發起請求,查看是否可以返回代理服務器的ip
import requests
from lxml import etree
headers = {'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36',
}
url = 'http://www.cip.cc/'page_text = requests.get(url,headers=headers,proxies={'http':'121.234.12.62:4246'}).text
tree = etree.HTML(page_text)
text = tree.xpath('/html/body/div/div/div[3]/pre/text()')[0]
print(text.split('\n')[0])
- ?代理池
最新問政-陽光熱線問政平臺
import request
from lxml import etree
import random
headers = {'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36',
}def get_proxy_pool():p_url = '代理提取的url'page_text = requests.get(p_url).textproxy_list = page_text.split('\r\n')return proxy_list
proxy_list = get_proxy_pool() #獲取了代理池(列表)for page in range(1,100):url = 'https://wz.sun0769.com/political/index/politicsNewest?id=1&page=%d'%pagepage_text = requests.get(url,headers=headers,proxies={'https':random.choice(proxy_list)}).texttree = etree.HTML(page_text)ret = tree.xpath('/html/body/div[2]/div[3]/ul[2]/li[1]/span[3]/a/text()')[0]print(ret)
?