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


Posted in Python onFebruary 21, 2020

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

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实现自动访问网页的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
跟老齐学Python之从if开始语句的征程
Sep 14 Python
Python实现1-9数组形成的结果为100的所有运算式的示例
Nov 03 Python
详解tensorflow训练自己的数据集实现CNN图像分类
Feb 07 Python
Django框架的使用教程路由请求响应的方法
Jul 03 Python
pyqt 多窗口之间的相互调用方法
Jun 19 Python
利用python开发app实战的方法
Jul 09 Python
Python简易版图书管理系统
Aug 12 Python
Python Web框架之Django框架Form组件用法详解
Aug 16 Python
Django自定义全局403、404、500错误页面的示例代码
Mar 08 Python
python实现视频压缩功能
Dec 18 Python
详解Python+Selenium+ChromeDriver的配置和问题解决
Jan 19 Python
pyqt5打包成exe可执行文件的方法
May 14 Python
解决Python pip 自动更新升级失败的问题
Feb 21 #Python
python利用百度云接口实现车牌识别的示例
Feb 21 #Python
在python3中实现更新界面
Feb 21 #Python
Python要如何实现列表排序的几种方法
Feb 21 #Python
python用WxPython库实现无边框窗体和透明窗体实现方法详解
Feb 21 #Python
使用Python打造一款间谍程序的流程分析
Feb 21 #Python
python实现堆排序的实例讲解
Feb 21 #Python
You might like
如何在PHP中使用Oracle数据库(6)
2006/10/09 PHP
字母顺序颠倒而单词顺序不变的php代码
2010/08/08 PHP
解析MySql与Java的时间类型
2013/06/22 PHP
浅谈php中变量的数据类型判断函数
2017/03/04 PHP
关于javascript中的parseInt使用技巧
2009/09/03 Javascript
防止页面被iframe(兼容IE,Firefox火狐)
2010/07/04 Javascript
js验证电话号码与手机支持+86的正则表达式
2014/01/23 Javascript
经过绑定元素时会多次触发mouseover和mouseout事件
2014/02/28 Javascript
Javascript中的五种数据类型详解
2014/12/26 Javascript
BootStrapValidator校验方式
2016/12/19 Javascript
js 动态生成html 触发事件传参字符转义的实例
2017/02/14 Javascript
js实现九宫格的随机颜色跳转
2017/02/19 Javascript
基于jQuery和CSS3实现APPLE TV海报视差效果
2017/06/16 jQuery
jQuery超简单遮罩层实现方法示例
2018/09/06 jQuery
javascript对HTML字符转义与反转义
2018/12/13 Javascript
[01:51]DAC趣味视频-如何成为职业选手.mp4
2017/04/02 DOTA
Python的Django框架中模板碎片缓存简介
2015/07/24 Python
Python读取properties配置文件操作示例
2018/03/29 Python
python使用writerows写csv文件产生多余空行的处理方法
2019/08/01 Python
Django 实现将图片转为Base64,然后使用json传输
2020/03/27 Python
Python‘==‘ 及 ‘is‘相关原理解析
2020/09/05 Python
使用HTML5进行SVG矢量图形绘制的入门教程
2016/02/19 HTML / CSS
浅析HTML5中header标签的用法
2016/06/24 HTML / CSS
描述JSP和Servlet的区别、共同点、各自应用的范围
2012/10/02 面试题
英语翻译系毕业生求职信
2013/09/29 职场文书
应届大学生的推荐信
2013/11/20 职场文书
冬季安全检查方案
2014/05/23 职场文书
办公室文员岗位职责范本
2014/06/12 职场文书
反四风个人对照检查材料思想汇报
2014/09/25 职场文书
2014年英语教师工作总结
2014/12/03 职场文书
先进个人评语大全
2015/01/04 职场文书
环卫工作个人总结
2015/03/04 职场文书
大学生求职意向书
2015/05/11 职场文书
房屋质量投诉书
2015/07/02 职场文书
个人工作决心书
2015/09/22 职场文书
python通过新建环境安装tfx的问题
2022/05/20 Python