当前位置: 首页 > news >正文

好网站在哪里查网站死链必用工具

好网站在哪里,查网站死链必用工具,采集wordpress上的内容,永泰县建设局网站Flask框架小程序后端分离开发学习笔记《4》向服务器端发送模拟请求-爬虫 Flask是使用python的后端#xff0c;由于小程序需要后端开发#xff0c;遂学习一下后端开发。 下面代码#xff0c;是一个比较老的版本了#xff0c;可以借鉴一下。 import socket import ssldef p…Flask框架小程序后端分离开发学习笔记《4》向服务器端发送模拟请求-爬虫 Flask是使用python的后端由于小程序需要后端开发遂学习一下后端开发。 下面代码是一个比较老的版本了可以借鉴一下。 import socket import ssldef parsed_url(url):#检查协议protocol httpif url[:7] http://:u url.split(://)[1]elif url[:8] https://:protocol httpsu url.split(://)[1]else:#:/l 定位然后取第一个/的位置来切片u url# 经过这样url中的协议被切掉了注意切片后数组下标由0开始# 例如 https://www.baidu.com:2024/apple# 切除后 www.baidu.com:2024/apple# 检查默认pathi u.find(/)if i -1:host upath /else:host u[:i]path u[i:]# 这一步处理过后# host www.baidu.com:2024# path apple# 检查端口# 默认端口port_dict {http: 80,https: 443,}# 非默认端口port port_dict[protocol]if : in host:h host.split(:)# print(h) 测试用当控制台说哪有问题阔以尝试使用打印大法看看是啥问题host h[0]port int(h[1])return protocol, host, port, path#以下test开头的函数是单元测试 def test_parsed_url():#parsed_url函数很容易出错所以我们写测试函数来运行看检测是否正确运mhttp httphttps httpshost g.cnpath /test_items [(http://g.cn, (http,host,80,path)),(http://g.cn/, (http,host,80,path)),(http://g.cn:90,(http, host,90,path)),(http://g.cn:90/, (http,host, 90,path)),# 这里面的都是典型测试用例即可(https://g.cn, (https,host,443,path)),(https://g.cn:233/,(https,host,233,path)),]for t in test_items:url, expected tu parsed_url(url)# assert是一个语句名字叫断言# 如果断言成功条件成立则通过测试否则为测试失败中断程序报错e parsed_url ERROR{}{}{}.format(url,u,expected)assert u expected, e # 如果u expected为true就没问题继续否则就会中断然后打印e# print(test_parsed_url测试通过)def socket_by_protocol(protocol,host):# 根据协议返回一个socket实例s socket.socket()if protocol https:# 创建一个默认的SSL上下文环境context ssl.create_default_context()# 使用SSL上下文环境来包装socket对象s context.wrap_socket(s, server_hostnamehost)return sdef response_by_socket(s):# 持续接收响应返回响应的byte型# 参数是一个socket实例# 返回这个socket读取的所有数据response bbuffer_size 1024while True:r s.recv(buffer_size)if len(r) 0:breakresponse rreturn responsedef parsed_response(r):# 把response解析出状态码headers body返回# 状态码是int# headers 是dict# body是strheader, body r.split(\r\n\r\n,1) # \r\n\r\n是其分界线h header.split(\r\n) # 就会切分很多行 例如HTTP/1.1 301 Moved Permanentlystatus_code h[0].split()[1] # h[0]就是响应行 status_code301 按照空格切分status_code int(status_code)headers {}for line in h[1:]: # 把响应Header部分每一行都存成字典k, v line.split(: )headers[k] vreturn status_code, headers, bodydef get(url):# 用GET请求url并返回响应protocol,host,port,path parsed_url(url)# 因为协议不一样socket实例构建方式不同s socket_by_protocol(protocol,host)s.connect((host,port))request GET HTTP/1.1\r\nhost: {}\r\nconnectibn: close\r\n\r\n.format(path,host)encoding utf-8s.send(request.encode(encoding))response response_by_socket(s)r response.decode(encoding)# 利用parsed_response处理接收到的响应分别得到想要的东西status_code, headers, body parsed_response(r)if status_code in [301, 302]: # 301、302说明是需要重定向url headers[Location]return get(url)return status_code, headers, bodydef test_get():# 测试是否能正确处理HTTP和HTTPSurls [http://movie.douban.com/top250,https://movie.douban.com/top250,]# 这里就直接调用了get如果出错就会挂测试得比较简单for u in urls:status_code, headers, body get(u)print(status_code,headers,body)def test():# 用于测试的主函数test_parsed_url()test_get()# test_parsed_response()if __name__ __main__:test()# main()# 代码注意模块化写what不写how不写具体怎么实现具体怎么实现就封装起来 最后尝试请求豆瓣的网页并未得到我怀疑是有反爬手段我们的请求数据还有很多东西没加进去所以看起来不像是浏览器发送的请求后续会继续学习解决这个问题。
http://www.zqtcl.cn/news/750504/

相关文章:

  • 网站平台开发多少钱wordpress文章展示
  • 汕尾市企业网站seo点击软件建设一个网站的步骤有哪些
  • 备案上个人网站和企业网站的区别实名认证域名可以做电影网站吗
  • 顾氏网站建设有限公司怎么样memcache安装wordpress
  • 邯郸网站建设渠道免费做全网解析电影网站赚钱
  • 中铁中基建设集团网站东莞网络优化哪家公司好
  • wordpress免费建站合肥关键词网站排名
  • 中铁建设集团门户网登录网站自己可以建设环保公益网站吗
  • 国内电子商务网站有哪些网站升级中html
  • 影响网站加载速度顺德做网站那家好
  • 如何备份网站的百度怎样建立网站
  • 如何建立网站视频教程湖北seo关键词排名优化软件
  • 南宁网站建设推荐q479185700顶上新公司网站建设流程
  • 石家庄城乡建设局网站四川网络营销
  • 网站更换名称需要重新备案吗赣州章贡区二手房出售信息
  • 浙江恒元建设网站wordpress 主题 英文
  • 甘肃网站建设推广做暧昧免费视频大全网站
  • 科技公司网站系统个人网站模板大全
  • 建网站源码建站详解做加油机公司网站
  • 北海做网站有哪家网站布局策划案
  • 做app网站的软件有哪些内容吗本地网站建设公司
  • 做服装团购有哪些网站有哪些网页端二维码在哪里
  • 石材网站建设方案科室建设网站
  • 梧州住房和建设局网站网站目录文件
  • 有没有做生鲜配送的网站wordpress调用摘要
  • 建设社团网站的可行性分析沈阳网站建设企业
  • 青岛知名网站建设公司优化大师有必要花钱吗
  • pc网站做app京东海淀区
  • 效果好的网站建设公萝岗企业网站建设
  • wordpress个人展示网站6新西兰网站后缀