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 文件重命名工具代码
Jul 26 Python
使用Python微信库itchat获得好友和群组已撤回的消息
Jun 24 Python
PyQt5实现简单数据标注工具
Mar 18 Python
Python3实现定时任务的四种方式
Jun 03 Python
python 实现二维列表转置
Dec 02 Python
Pytorch.nn.conv2d 过程验证方式(单,多通道卷积过程)
Jan 03 Python
使用Tensorboard工具查看Loss损失率
Feb 15 Python
Python paramiko 模块浅谈与SSH主要功能模拟解析
Feb 29 Python
详细分析Python collections工具库
Jul 16 Python
基于python requests selenium爬取excel vba过程解析
Aug 12 Python
python Scrapy框架原理解析
Jan 04 Python
python实现批量提取指定文件夹下同类型文件
Apr 05 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
利用curl抓取远程页面内容的示例代码
2013/07/23 PHP
codeigniter使用技巧批量插入数据实例方法分享
2013/12/31 PHP
yii实现创建验证码实例解析
2014/07/31 PHP
php更新mysql后获取改变行数的方法
2014/12/25 PHP
php将数组转换成csv格式文件输出的方法
2015/03/14 PHP
强大的jquery插件jqeuryUI做网页对话框效果!简单
2011/04/14 Javascript
JSON中双引号的轮回使用过程中一定要小心
2014/03/05 Javascript
JavaScript 学习笔记之数据类型
2015/01/14 Javascript
jQuery源码解读之hasClass()方法分析
2015/02/20 Javascript
JavaScript控制两个列表框listbox左右交换数据的方法
2015/03/18 Javascript
jquery实现点击查看更多内容控制段落文字展开折叠效果
2015/08/06 Javascript
Bootstrap表格和栅格分页实例详解
2016/05/20 Javascript
js获取Get值的方法
2016/09/29 Javascript
BootStrapValidator校验方式
2016/12/19 Javascript
JavaScript实现修改伪类样式
2017/11/27 Javascript
Angular 作用域scope的具体使用
2017/12/11 Javascript
layui多图上传实现删除功能的例子
2019/09/23 Javascript
JavaScript中的this基本问题实例小结
2020/03/09 Javascript
[00:10]DOTA2全国高校联赛速递
2018/05/30 DOTA
python编程-将Python程序转化为可执行程序[整理]
2007/04/09 Python
Python写的一个简单DNS服务器实例
2014/06/04 Python
Python 学习教程之networkx
2019/04/15 Python
解决Python正则表达式匹配反斜杠''\''问题
2019/07/17 Python
Python解析命令行读取参数之argparse模块
2019/07/26 Python
基于Python实现剪切板实时监控方法解析
2019/09/11 Python
Python 基于FIR实现Hilbert滤波器求信号包络详解
2020/02/26 Python
html5.2 dialog简介详解
2018/02/27 HTML / CSS
阿玛尼美妆英国官网:Giorgio Armani Beauty英国
2019/03/28 全球购物
大四毕业生学习总结的自我评价
2013/10/31 职场文书
银行门卫岗位职责
2013/12/29 职场文书
如何写一份好的自荐信
2014/01/02 职场文书
教师自我鉴定范文
2014/03/20 职场文书
生产助理岗位职责
2014/06/18 职场文书
离婚协议书范本样本
2014/08/19 职场文书
教师查摆问题自查报告
2014/10/11 职场文书
Java多线程并发FutureTask使用详解
2022/06/28 Java/Android