今天小编就为大家分享一篇Python实现自动访问网页的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

我就废话不多说了,直接上代码吧!

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)

补充拓展:Python模拟浏览器实现网页访问方式

模拟浏览器请求数据:

import socket

# 创建TCP链接
tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# DNS 解析和链接HTTP服务器
tcp_socket.connect(("www.qq.com", 80))

# 编写请求头, 发送HTTP请求报文
# 请求行
request_line = "GET / HTTP/1.1\r\n"
# 请求头,设置请求域名
request_header = "www.qq.com\r\n"
request_data = request_line + request_header + "\r\n"

# 发送请求
tcp_socket.send(request_data.encode("utf-8"))
# 接收响应报文,指定长度
response_data = tcp_socket.recv(4096)
# 对响应报文进行解析 --切割
response_str_data = response_data.decode("utf-8")
print(response_data)
# "\r\n\r\n" 之后的数据就是响应体数据
index = response_str_data.find("\r\n\r\n")
# 切割出的数据就是文件数据
html_data = response_str_data[index+4:]
# 在当前路径下新建文件存储响应数据
with open("index.html", "wb") as file:
 file.write(html_data.encode())
# 关闭套接字
tcp_socket.close()

以上这篇Python实现自动访问网页的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持爱安网。

最新资讯
联邦快递宣布计划在欧洲裁员6300人

联邦快递宣布计划在欧

联邦快递公司(FedEx Corp)的FedEx Express部门周二宣布,
“芯片荒”蔓延 汽车巨头多家工厂相继停产

“芯片荒”蔓延 汽车

除了奥迪、福特外,戴姆勒也正减少部分工厂的产量。此外
张小龙的“微信之夜”:花1小时讲视频号 做产品99%不靠谱

张小龙的“微信之夜”

开场不久,张小龙花了一个小时讲起了一年前微信推出的产
美国传媒公司ViacomCBS 3月推新服务Paramount+:挑战Disney+

美国传媒公司ViacomCB

美国传媒公司ViacomCBS今日宣布,将于3月4日推出新流体
“陪跑”微信十年的米聊官宣停服时间  即时通讯工具领域再减一员

“陪跑”微信十年的米

对于小米经营十年的米聊业务来说,先于微信而生,却未能改
你的新能源车“怕冷”吗?车主焦虑:一天一充电,不敢开空调!

你的新能源车“怕冷”

入冬以来,不少车主反映:自己的新能源车续航里程不但大打
最新文章
在pycharm中为项目导入anacodna环境的操作方法

在pycharm中为项目导

这篇文章主要介绍了在pycharm中为项目导入anacodna环
tensorflow的ckpt及pb模型持久化方式及转化详解

tensorflow的ckpt及pb

今天小编就为大家分享一篇tensorflow的ckpt及pb模型持
PyTorch笔记之scatter()函数的使用

PyTorch笔记之scatter

这篇文章主要介绍了PyTorch笔记之scatter()函数的使用
python3实现网页版raspberry pi(树莓派)小车控制

python3实现网页版ras

这篇文章主要为大家详细介绍了python3实现网页版raspb
完美解决pycharm导入自己写的py文件爆红问题

完美解决pycharm导入

今天小编就为大家分享一篇完美解决pycharm导入自己写
pycharm内无法import已安装的模块问题解决

pycharm内无法import

今天小编就为大家分享一篇pycharm内无法import已安装