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实现协同过滤推荐算法完整代码示例
Dec 15 Python
Python元字符的用法实例解析
Jan 17 Python
详解如何在python中读写和存储matlab的数据文件(*.mat)
Feb 24 Python
Django读取Mysql数据并显示在前端的实例
May 27 Python
python 获取一个值在某个区间的指定倍数的值方法
Nov 12 Python
centos6.5安装python3.7.1之后无法使用pip的解决方案
Feb 14 Python
Python程序包的构建和发布过程示例详解
Jun 09 Python
详解PANDAS 数据合并与重塑(join/merge篇)
Jul 09 Python
对Python3中列表乘以某一个数的示例详解
Jul 20 Python
利用OpenCV和Python实现查找图片差异
Dec 19 Python
python如何进行矩阵运算
Jun 05 Python
python中的class_static的@classmethod的巧妙用法
Jun 22 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邮件专题
2006/10/09 PHP
php 获取当前访问的url文件名的方法小结
2010/02/08 PHP
PHP将身份证正反面两张照片合成一张图片的代码
2017/04/08 PHP
PHP实现Unicode编码相互转换的方法示例
2020/11/17 PHP
基于JQuery的cookie插件
2010/04/07 Javascript
ajax更新数据后,jquery、jq失效问题
2011/03/16 Javascript
JavaScript的常见兼容问题及相关解决方法(chrome/IE/firefox)
2013/12/31 Javascript
JS+CSS实现自动改变切换方向图片幻灯切换效果的方法
2015/03/02 Javascript
jQuery实现hover合成事件的方法
2015/08/06 Javascript
原生JS实现美图瀑布流布局赏析
2015/09/07 Javascript
属于你的jQuery提示框(Tip)插件
2016/01/20 Javascript
关于Jquery中的bind(),on()绑定事件方式总结
2016/10/26 Javascript
详解JS数值Number类型
2018/02/07 Javascript
vue实现移动端悬浮窗效果
2018/12/01 Javascript
JavaScript两种计时器的实例讲解
2019/01/31 Javascript
基于vue实现滚动条滚动到指定位置对应位置数字进行tween特效
2019/04/18 Javascript
微信小程序 授权登录详解(附完整源码)
2019/08/23 Javascript
React+Redux实现简单的待办事项列表ToDoList
2019/09/29 Javascript
Vuex modules模式下mapState/mapMutations的操作实例
2019/10/17 Javascript
解决Django连接db遇到的问题
2019/08/29 Python
使用python批量转换文件编码为UTF-8的实现
2020/04/03 Python
通俗易懂了解Python装饰器原理
2020/09/17 Python
python 获取剪切板内容的两种方法
2020/11/28 Python
利用Python过滤相似文本的简单方法示例
2021/02/03 Python
详解rem 适配布局
2018/10/31 HTML / CSS
有原因的手表:Flex Watches
2019/03/23 全球购物
在SQL Server中创建数据库主要有那种方式
2013/09/10 面试题
请介绍一下WSDL的文档结构
2013/03/17 面试题
《湘夫人》教学反思
2014/02/21 职场文书
2014年部门工作总结
2014/11/12 职场文书
研究生就业推荐表导师评语
2014/12/31 职场文书
2015年优质护理服务工作总结
2015/04/08 职场文书
2016年五一劳动节专题校园广播稿
2015/12/17 职场文书
MySQL系列之十一 日志记录
2021/07/02 MySQL
mysql中整数数据类型tinyint详解
2021/12/06 MySQL
铁拳制作人赞《铁拳7》老头环Mod:制作精良 但别弄了
2022/04/03 其他游戏