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入门篇之文件
Oct 20 Python
使用PDB简单调试Python程序简明指南
Apr 25 Python
详解Python中的array数组模块相关使用
Jul 05 Python
python发送邮件功能实现代码
Jul 15 Python
浅谈Pycharm中的Python Console与Terminal
Jan 17 Python
Python Matplotlib 基于networkx画关系网络图
Jul 10 Python
python 并发编程 阻塞IO模型原理解析
Aug 20 Python
Python多继承以及MRO顺序的使用
Nov 11 Python
django 将自带的数据库sqlite3改成mysql实例
Jul 09 Python
python Matplotlib基础--如何添加文本和标注
Jan 26 Python
python-for x in range的用法(注意要点、细节)
May 10 Python
理解python中装饰器的作用
Jul 21 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中文字符串截取函数
2013/11/12 PHP
ThinkPHP多语言支持与多模板支持概述
2014/08/22 PHP
PHP之密码加密的几种方式
2015/07/29 PHP
在Win2003(64位)中配置IIS6+PHP5.2.17+MySQL5.5的运行环境
2016/04/04 PHP
PHP实现动态创建XML文档的方法
2018/03/30 PHP
PHP实现登录验证码校验功能
2018/05/17 PHP
Jquery 表单验证类介绍与实例
2013/06/09 Javascript
js实现页面转发功能示例代码
2013/08/05 Javascript
JS和JQUERY获取页面大小,滚动条位置,元素位置(示例代码)
2013/12/14 Javascript
jQuery针对各类元素操作基础教程
2014/08/29 Javascript
js实现背景图片感应鼠标变化的方法
2015/02/28 Javascript
WebView启动支付宝客户端支付失败的问题小结
2017/01/11 Javascript
cropper js基于vue的图片裁剪上传功能的实现代码
2018/03/01 Javascript
[原创]微信小程序获取网络类型的方法示例
2019/03/01 Javascript
小程序云开发之用户注册登录
2019/05/18 Javascript
vue-loader中引入模板预处理器的实现
2019/09/04 Javascript
详解vue页面首次加载缓慢原因及解决方案
2019/11/06 Javascript
微信小程序实现分页加载效果
2020/11/19 Javascript
[01:14]2019完美世界城市挑战赛(秋季赛)全国总决赛精彩花絮
2020/01/08 DOTA
Python自动化测试工具Splinter简介和使用实例
2014/05/13 Python
解析Mac OS下部署Pyhton的Django框架项目的过程
2016/05/03 Python
matplotlib中legend位置调整解析
2017/12/19 Python
Python实现读取Properties配置文件的方法
2018/03/29 Python
Django contenttypes 框架详解(小结)
2018/08/13 Python
python批量从es取数据的方法(文档数超过10000)
2018/12/27 Python
Python代码生成视频的缩略图的实例讲解
2019/12/22 Python
tensorflow基于CNN实战mnist手写识别(小白必看)
2020/07/20 Python
python实现粒子群算法
2020/10/15 Python
关于Python错误重试方法总结
2021/01/03 Python
css3实现顶部社会化分享按钮示例
2014/05/06 HTML / CSS
美国床垫和床上用品公司:Nest Bedding
2017/06/12 全球购物
Oracle中delete,truncate和drop的区别
2016/05/05 面试题
小区门卫工作职责
2013/12/14 职场文书
公司员工检讨书
2014/02/08 职场文书
信用卡工作证明模板
2014/09/14 职场文书
部队反四风对照检查材料
2014/09/26 职场文书