python web1(解析url)

环境:pycharm

尝试对地址进行切片 去掉头 http 或 https

a.遇到了一些问题

url = ‘https://www.cnblogs.com/derezzed/articles/8119592.html‘
    #检查协议
protocl = "http"
if url[:7] =="http://":
    u = url.split(‘://‘)[1]
    elif url[:8] == "https://":
    protocl = "https"
    u = url.split("://")
   else:
    u = url
    print(u)

发现无任何输出

url = ‘https://www.cnblogs.com/derezzed/articles/8119592.html‘
    #检查协议
protocl = "http"
if url[:7] =="http://":
    u = url.split(‘://‘)[1]
    print(u)
elif url[:8] == "https://":
    protocl = "https"
    u = url.split("://")
    print(u)
else:
    u = url
    print(u)

修改后看到了结果 至于为何 暂不知道原因

b.按着教程 边理解 边写出的解析url程序 (此程序有问题)

#url = ‘http://movie.douban.com/top250‘#解析url 返回一个tuple 包含 protocol host path port

def parsed_url(url):    #检查协议

protocol = ‘http‘    if url[:7] == ‘http://‘:        a = url.split(‘://‘)[1]

elif url[:8] == ‘https://‘:        a = url.split(‘https://‘)[1]        protocol = ‘https‘

#检查默认path    i = a.find(‘/‘)    if(i == -1):        path = ‘/‘        host = a    else:        host = a[:16]        path = a[6:]

#检查端口    port_dict = {    ‘http‘: 80,    ‘https‘ : 443,}    #默认端口    port = port_dict[protocol]    if ‘:‘ in host:        h = host.split(‘:‘)        host = h[0]        port = int (h[1])

return  protocol, host, port, path
 

写完后发现编译器一直报错 对着源程序反复确认还是找不到问题所在 一直报错

“python illegal target for variable annotation”

最后发现是缩进问题 详情查看我的 python learn 或者搜索python的缩进要求

而后加入测试程序 发现还是不对 虽然报错很明显 但依然不知道错在哪里 冷静下来观察错误

这里看到 错误已经很明显 给出了来源 自己写的(其实是仿着写的qwq)所以没有意识到自己写的expected函数连正确答案都显示出来了 (汗)

最终 马上意识到 host path是有问题的 将 i 替换成了具体数字 修改后错误消失

error 0 了 啊太棒了 !!! 加油~~~

原文地址:https://www.cnblogs.com/junkdog/p/9839684.html

时间: 2024-10-29 03:25:33

python web1(解析url)的相关文章

Python - Django - 命名 URL 和反向解析 URL

命名 URL: test.html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>测试页面</title> </head> <body> <p>测试页面</p> <form action="/test/" method=&quo

urlparse模块(专门用来解析URL格式)

# -*- coding: utf-8 -*- #python 27 #xiaodeng #urlparse模块(专门用来解析URL格式) #URL格式: #protocol ://hostname[:port] / path / [;parameters][?query]#fragment #parameters:特殊参数,一般用的很少. #1.urlparse方法 #将url解析为6元组,返回一个ParseResult对象元组. url='http://user:[email protect

Python 文本解析器

Python 文本解析器 一.课程介绍 本课程讲解一个使用 Python 来解析纯文本生成一个 HTML 页面的小程序. 二.相关技术 Python:一种面向对象.解释型计算机程序设计语言,用它可以做 Web 开发.图形处理.文本处理和数学处理等等. HTML:超文本标记语言,主要用来实现网页. 三.项目截图 纯文本文件: Welcome to ShiYanLou ShiYanLou is the first experiment with IT as the core of online ed

关于Python json解析过程遇到的TypeError: expected string or buffer

关于Python json解析过程遇到的问题:(爬取天气json数据所遇到的问题http://tianqi.2345.com/) part.1 url--http://tianqi.2345.com/t/wea_history/js/201708/60061_201708.js 返回的数据如下: 这就尴尬了,直接json.loads是返回错误的. 对比了其他网页返回的--http://www.toutiao.com/search_content/?offset=0&format=json&

python dpkt解析ssl流

用法:python extract_tls_flow.py -vr  white_pcap/11/2018-01-10_13-05-09_2.pcap  -o pcap_ssl_flow.txt  >log.txt python dpkt解析ssl流,记录含有client hello到app data的完整ssl 流,同时记录ssl证书: #!/usr/bin/env python from __future__ import absolute_import from __future__ im

Python爬虫解析网页的4种方式 值得收藏

用Python写爬虫工具在现在是一种司空见惯的事情,每个人都希望能够写一段程序去互联网上扒一点资料下来,用于数据分析或者干点别的事情. ? 我们知道,爬虫的原理无非是把目标网址的内容下载下来存储到内存中,这个时候它的内容其实是一堆HTML,然后再对这些HTML内容进行解析,按照自己的想法提取出想要的数据,所以今天我们主要来讲四种在Python中解析网页HTML内容的方法,各有千秋,适合在不同的场合下使用. 首先我们随意找到一个网址,这时我脑子里闪过了豆瓣这个网站.嗯,毕竟是用Python构建的网

解析url函数parse_url()

(PHP 4, PHP 5, PHP 7) parse_url - 解析 URL,返回其组成部分 mixed parse_url ( string $url [, int $component = -1 ] ) 本函数解析一个 URL 并返回一个关联数组,包含在 URL 中出现的各种组成部分. 本函数不是用来验证给定 URL 的合法性的,只是将其分解为下面列出的部分.不完整的 URL 也被接受,parse_url()会尝试尽量正确地将其解析. 参数 url:要解析的 URL.无效字符将使用 _ 

python高效解析日志入库

python脚本解析日志文件入库一般有三个重要的步骤:读文件.解析文件.入库.在这三个方面下功夫,可确保我们获得最优的性能(这里不讨论并发) 1 读文件:一次读一行,磁盘IO太多,效率低下:一次性读如全部文件内容,可能内存不够.采取一个折中的办法,每次读若干byte(具体大小视实际情况而定). 经过测试,得到结论,在我们写代码的时候应该这样写 f = open(path,'r') for line in f : ............. 这是系统提供的一种读文件的方法,一般比我们自己每次读若干

写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名?pathinfo文件路径&amp; parse_url解析url &amp; basename路径中文件名

例如: http://www.sina.com.cn/abc/de/fg.php?id=1 需要取出 php 或 .php 方案1 <?php function getExt($url){ $arr = parse_url($url); $file = basename($arr['path']); $ext = explode(".",$file); return $ext[1]; } echo getExt("http://www.sina.com.cn/abc/d