溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python實(shí)現(xiàn)自動訪問網(wǎng)頁的例子

發(fā)布時(shí)間:2020-10-09 03:03:15 來源:腳本之家 閱讀:211 作者:白水你一定要努力啊 欄目:開發(fā)技術(shù)

我就廢話不多說了,直接上代碼吧!

import urllib.request
import requests
import time
import ssl
import random

def openUrl(ip, agent):
 headers = {'User-Agent': agent}
 proxies = {'http' : ip}
 requests.get("https://www.baidu.com", headers=headers, proxies=proxies, verify=True)
 ssl._create_default_https_context = ssl._create_unverified_context
 print("Access to success.")

#IP池
#IP來源:
# http://www.xicidaili.com/
# https://www.kuaidaili.com/free/
def randomIP():
 ip = random.choice(['120.78.78.141', '122.72.18.35', '120.92.119.229'])
 return ip

#User-Agent
#User-Agent來源:http://www.useragentstring.com/pages/useragentstring.php
def randomUserAgent():
 UserAgent = random.choice(['Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36',
        'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.1 Safari/537.36',
        'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36'])
 return UserAgent

if __name__ == '__main__':
 for i in range(10):
  ip = randomIP()
  agent = randomUserAgent()
  openUrl(ip, agent)
  time.sleep(1)

補(bǔ)充拓展:Python模擬瀏覽器實(shí)現(xiàn)網(wǎng)頁訪問方式

模擬瀏覽器請求數(shù)據(jù):

import socket

# 創(chuàng)建TCP鏈接
tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# DNS 解析和鏈接HTTP服務(wù)器
tcp_socket.connect(("www.qq.com", 80))

# 編寫請求頭, 發(fā)送HTTP請求報(bào)文
# 請求行
request_line = "GET / HTTP/1.1\r\n"
# 請求頭,設(shè)置請求域名
request_header = "www.qq.com\r\n"
request_data = request_line + request_header + "\r\n"

# 發(fā)送請求
tcp_socket.send(request_data.encode("utf-8"))
# 接收響應(yīng)報(bào)文,指定長度
response_data = tcp_socket.recv(4096)
# 對響應(yīng)報(bào)文進(jìn)行解析 --切割
response_str_data = response_data.decode("utf-8")
print(response_data)
# "\r\n\r\n" 之后的數(shù)據(jù)就是響應(yīng)體數(shù)據(jù)
index = response_str_data.find("\r\n\r\n")
# 切割出的數(shù)據(jù)就是文件數(shù)據(jù)
html_data = response_str_data[index+4:]
# 在當(dāng)前路徑下新建文件存儲響應(yīng)數(shù)據(jù)
with open("index.html", "wb") as file:
 file.write(html_data.encode())
# 關(guān)閉套接字
tcp_socket.close()

以上這篇Python實(shí)現(xiàn)自動訪問網(wǎng)頁的例子就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI