基于python3.6—pycharm編寫的,都已經調試過了,歡迎大家提出交流意見。
關于一些基礎的數據網頁分析(比如為什么是這個url)沒有過多贅述,看不懂的自行百度。
源碼可以直接拷貝運行。
轉載請注明來源。
import requests
import re
'''
Python爬蟲源碼實現抓取1000條西刺免費代理IP-HTTPS并保存讀取
'''
#抓取代理IP函數
def get_https():
for i
in range(
0,
10):url =
"http://www.xicidaili.com/wn/%d"%(i+
1)
#構建請求目標URL
#構建請求頭
headers = {
'Host':
'www.xicidaili.com',
'Referer':
'http://www.xicidaili.com/',
'Upgrade-Insecure-Requests':
'1',
'User-Agent':
'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'
}resp = requests.get(url,
headers=headers)resp.encoding = resp.apparent_encoding
#設置編碼為網頁編碼
result = resp.texthttps = re.findall(
r"\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b", result)
#正則表達式提取IP地址
ports = re.findall(
r"<td>(\d+)</td>", result)
#正則表達式提取端口
#創建文件保存數據
with open(
'https.txt',
'a',
encoding=
'utf-8')
as f:
for x
in range(
100):f.write(
"https://"+https[x]+
":"+ports[x]+
"\n")
#組合地址和端口,獲取完整的IP地址
print(
'正在寫入第',
100*i+x+
1,
'條')
#構建讀取抓取到的代理IP函數
def read_https():
with open(
'https.txt',
'r',
encoding=
'utf-8')
as f:line = f.read().strip(
'\n')
print(line)
if __name__ ==
'__main__':get_https()read_https()
總結
以上是生活随笔為你收集整理的Project 3 :Python爬虫源码实现抓取1000条西刺免费代理IP-HTTPS并保存读取的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。