国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python制作刷網頁流量工具

2020-02-23 04:36:32
字體:
來源:轉載
供稿:網友

準備

必須環境:

Python3

開始

先實現一個簡單的版本,直接上代碼:

import urllib.requestimport urllib.error#創建get方法def get(url): code=urllib.request.urlopen(url).code return codeif __name__ == '__main__':#設置一些基本屬性 url = "http://shua.jb51.net" user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.63 Safari/537.36" headers = {'User-Agent':user_agent} req = urllib.request.Request(url, headers=headers) #記錄次數 i = 1 while 1:    code = get(url)   print('訪問:'+str(code))   i = i+1

簡單粗暴,刷的只是 pv,ip 沒變,容易被搜索引擎發現,下面我們來改進一下

增加代理功能

給 get 方法添加以下代碼:

random_proxy = random.choice(proxies)proxy_support = urllib.request.ProxyHandler({"http":random_proxy})opener = urllib.request.build_opener(proxy_support)urllib.request.install_opener(opener)

修改一下主方法:

if __name__ == '__main__': url = "http://shua.jb51.net" #添加代理列表,可以自行去百度獲取 proxies = ["124.88.67.22:80","124.88.67.82:80","124.88.67.81:80","124.88.67.31:80","124.88.67.19:80","58.23.16.240:80"] user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.63 Safari/537.36" headers = {'User-Agent':user_agent} req = urllib.request.Request(url, headers=headers) i = 1 while 1:   #添加參數   code = get(url,proxies)   print('第'+str(i)+'次代理訪問:'+str(code))   i = i+1

這樣差不多了,不過有個 bug ,如果頁面打不開了或者代理失效了,程序就自動結束了,接下來我們添加異常處理功能

異常處理

定義 mail 方法 ,用來發郵件提醒

def mail(txt): _user = "你的賬號" _pwd = "你的密碼" _to = "收件賬號" msg = MIMEText(txt, 'plain', 'utf-8') #標題 msg["Subject"] = "代理失效!" msg["From"] = _user msg["To"] = _to try:   #這里我用的qq郵箱   s = smtplib.SMTP_SSL("smtp.qq.com", 465)   s.login(_user, _pwd)   s.sendmail(_user, _to, msg.as_string())   s.quit()   print("Success!") except smtplib.SMTPException as e:   print("Falied,%s" % e)

然后我們修改一下主方法:

if __name__ == '__main__': url = "http://shua.jb51.net" proxies = ["124.88.67.22:80","124.88.67.82:80","124.88.67.81:80","124.88.67.31:80","124.88.67.19:80","58.23.16.240:80"] user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.63 Safari/537.36" headers = {'User-Agent':user_agent} req = urllib.request.Request(url, headers=headers) i = 1 while 1:   try:     code = get(url,proxies)     print('第'+str(i)+'次代理訪問:'+str(code))     i = i+1   except urllib.error.HTTPError as e:     print(e.code)      #添加mail方法     mail(e.code)   except urllib.error.URLError as err:     print(err.reason)      #添加mail方法     mail(err.reason)            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新巴尔虎右旗| 南岸区| 垦利县| 新郑市| 耿马| 涿州市| 深圳市| 渭源县| 集贤县| 绥芬河市| 上蔡县| 怀集县| 龙泉市| 开化县| 井陉县| 从江县| 古田县| 固阳县| 英德市| 伊吾县| 衡东县| 陈巴尔虎旗| 平顺县| 平和县| 犍为县| 城固县| 沙河市| 泽州县| 皮山县| 嘉黎县| 留坝县| 张掖市| 资中县| 兴文县| 米易县| 德化县| 溆浦县| 专栏| 太和县| 寻乌县| 荥阳市|