Python實(shí)現(xiàn)自動(dòng)訪問網(wǎng)頁的例子
更新時(shí)間:2020年02月21日 15:49:06 作者:白水你一定要努力啊
今天小編就為大家分享一篇Python實(shí)現(xiàn)自動(dòng)訪問網(wǎng)頁的例子,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
我就廢話不多說了,直接上代碼吧!
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)自動(dòng)訪問網(wǎng)頁的例子就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python socket服務(wù)常用操作代碼實(shí)例
這篇文章主要介紹了Python socket服務(wù)常用操作代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06
Python實(shí)現(xiàn)比較兩個(gè)文件夾中代碼變化的方法
這篇文章主要介紹了Python實(shí)現(xiàn)比較兩個(gè)文件夾中代碼變化的方法,實(shí)例分析了Python讀取文件夾中文件及字符串操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
PyQt5+serial模塊實(shí)現(xiàn)一個(gè)串口小工具
這篇文章主要為大家詳細(xì)介紹了如何利用PyQt5和serial模塊實(shí)現(xiàn)一個(gè)簡單的串口小工具,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-01-01
Python3 實(shí)現(xiàn)隨機(jī)生成一組不重復(fù)數(shù)并按行寫入文件
下面小編就為大家分享一篇Python3 實(shí)現(xiàn)隨機(jī)生成一組不重復(fù)數(shù)并按行寫入文件的示例。具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04

