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基于隐马尔可夫模型实现中文拼音输入
Apr 01 Python
浅谈python 四种数值类型(int,long,float,complex)
Jun 08 Python
Python通过OpenCV的findContours获取轮廓并切割实例
Jan 05 Python
Python内置模块logging用法实例分析
Feb 12 Python
Python(TensorFlow框架)实现手写数字识别系统的方法
May 29 Python
pandas 数据归一化以及行删除例程的方法
Nov 10 Python
对Python 简单串口收发GUI界面的实例详解
Jun 12 Python
python切片(获取一个子列表(数组))详解
Aug 09 Python
python2.7的flask框架之引用js&css等静态文件的实现方法
Aug 22 Python
python相对企业语言优势在哪
Jun 12 Python
用Python爬取某乎手机APP数据
Jun 15 Python
Python实现日志实时监测的示例详解
Apr 06 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中通过ADO调用Asscess数据库和COM程序
2006/10/09 PHP
php程序之die调试法 快速解决错误
2009/09/17 PHP
php图片的裁剪与缩放生成符合需求的缩略图
2013/01/11 PHP
php 使用curl模拟ip和来源进行访问的实现方法
2017/05/02 PHP
javascript入门·动态的时钟,显示完整的一些方法,新年倒计时
2007/10/01 Javascript
让网页跳转到指定位置的jquery代码非书签
2013/09/06 Javascript
jquery和ajax的关系详细介绍
2013/11/29 Javascript
用JavaScript实现使用鼠标画线的示例代码
2014/08/19 Javascript
Bootstrap布局之栅格系统详解
2016/06/13 Javascript
javaScript如何跳出多重循环break、continue
2016/09/01 Javascript
浅谈在js传递参数中含加号(+)的处理方式
2016/10/11 Javascript
模板视图和AngularJS之间冲突的解决方法
2016/11/22 Javascript
使用Vue.js创建一个时间跟踪的单页应用
2016/11/28 Javascript
Bootstrap基本样式学习笔记之按钮(4)
2016/12/07 Javascript
深入理解node.js http模块
2018/01/24 Javascript
vue如何进行动画的封装
2018/09/26 Javascript
vue在index.html中引入静态文件不生效问题及解决方法
2019/04/29 Javascript
如何基于jQuery实现五角星评分
2020/09/02 jQuery
python处理multipart/form-data的请求方法
2018/12/26 Python
详解Python3定时器任务代码
2019/09/23 Python
tensorflow如何继续训练之前保存的模型实例
2020/01/21 Python
python3读取autocad图形文件.py实例
2020/06/05 Python
意大利网上书店:LaFeltrinelli
2020/06/12 全球购物
汽车检测与维修个人求职信
2013/09/24 职场文书
资产评估专业大学生求职信
2013/09/29 职场文书
技术总监岗位职责
2013/12/05 职场文书
高二化学教学反思
2014/01/30 职场文书
小学毕业感言150字
2014/02/05 职场文书
亲子阅读的活动方案
2014/08/15 职场文书
励志演讲稿600字
2014/08/21 职场文书
民事答辩状格式范文
2015/05/21 职场文书
实施意见格式范本
2015/06/05 职场文书
教学工作总结范文5篇
2019/08/19 职场文书
uwsgi+nginx代理Django无法访问静态资源的解决
2021/05/10 Servers
UNION CREATIVE《Re:从零开始的异世界生活》雷姆手办
2022/03/20 日漫
Java 垃圾回收超详细讲解记忆集和卡表
2022/04/08 Java/Android