Python实现自动访问网页的例子
我就废话不多说了,直接上代码吧!
importurllib.request
importrequests
importtime
importssl
importrandom
defopenUrl(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("Accesstosuccess.")
#IP池
#IP来源:
#http://www.xicidaili.com/
#https://www.kuaidaili.com/free/
defrandomIP():
ip=random.choice(['120.78.78.141','122.72.18.35','120.92.119.229'])
returnip
#User-Agent
#User-Agent来源:http://www.useragentstring.com/pages/useragentstring.php
defrandomUserAgent():
UserAgent=random.choice(['Mozilla/5.0(WindowsNT6.1)AppleWebKit/537.36(KHTML,likeGecko)Chrome/41.0.2228.0Safari/537.36',
'Mozilla/5.0(Macintosh;IntelMacOSX10_10_1)AppleWebKit/537.36(KHTML,likeGecko)Chrome/41.0.2227.1Safari/537.36',
'Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/41.0.2227.0Safari/537.36'])
returnUserAgent
if__name__=='__main__':
foriinrange(10):
ip=randomIP()
agent=randomUserAgent()
openUrl(ip,agent)
time.sleep(1)
补充拓展:Python模拟浏览器实现网页访问方式
模拟浏览器请求数据:
importsocket
#创建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:]
#在当前路径下新建文件存储响应数据
withopen("index.html","wb")asfile:
file.write(html_data.encode())
#关闭套接字
tcp_socket.close()
以上这篇Python实现自动访问网页的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。