Python实现自动访问网页的例子

作者:白水你一定要努力啊 时间:2023-12-07 19:29:42 

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


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()

来源:https://blog.csdn.net/baishuiniyaonulia/article/details/79931195

标签:Python,访问,网页
0
投稿

猜你喜欢

  • JavaScript点击按钮后弹出透明浮动层的方法

    2023-08-05 22:33:29
  • 一个oracle指令的好网站

    2010-07-21 13:31:00
  • uniapp实现人脸识别功能详细示例

    2024-04-16 08:59:57
  • pycharm 使用心得(四)显示行号

    2023-04-28 09:24:54
  • OpenCV-Python实现图像平滑处理操作

    2021-06-19 10:28:21
  • 基于Python代码编辑器的选用(详解)

    2022-08-13 23:44:39
  • jQuery的ajax下载blob文件

    2024-04-19 10:18:47
  • python中threading和queue库实现多线程编程

    2023-01-12 13:59:08
  • 详解Go-JWT-RESTful身份认证教程

    2024-02-17 07:44:56
  • 使用python 对验证码图片进行降噪处理

    2022-01-27 23:02:16
  • yolov5中head修改为decouple head详解

    2023-07-02 08:54:08
  • GIt在pyCharm的详细使用教程记录

    2021-11-21 02:21:05
  • 如何通过PHP实现Des加密算法代码实例

    2023-10-08 09:41:55
  • python MultipartEncoder传输zip文件实例

    2022-04-20 07:22:57
  • python机器学习之随机森林(七)

    2023-10-20 00:25:13
  • 一个简单的ASP计数器代码

    2010-04-24 15:49:00
  • JS合并数组的几种方法及优劣比较

    2024-06-05 10:02:00
  • Golang 使用http Client下载文件的实现方法

    2023-07-21 07:32:23
  • 如何得到数据库中所有表名 表字段及字段中文描述

    2024-01-24 23:58:40
  • 使用bin-log日志还原数据库的例子

    2024-01-27 07:17:43
  • asp之家 网络编程 m.aspxhome.com