scrapy urllib.parse 解析含有'/…
2019-01-03 09:58:21来源:博客园 阅读 ()
先给出修改部分代码:
urllib.parse
def _splitnetloc(url, start=0): # modified by liucheng at 20190103 at_index = url.find('@', start) # modified by liucheng delim = len(url) # position of end of domain part of url, default is end for c in '/?#': # look for delimiters; the order is NOT important wdelim = url.find(c, start) # find first of this delim # modified by liucheng at 20190103 if at_index > 0: wdelim = url.find(c, at_index) # modified by liucheng if wdelim >= 0: # if found delim = min(delim, wdelim) # use earliest delim position return url[start:delim], url[delim:] # return (domain, rest)
今天应产品需求,将天气数据按天获取,并写入ftp,方便交换任务入库或者直接处理。
天气数据直接使用中国天气预报网的页面解析获取。
然而在写ftp时,看到scrapy官方文档表示 可以直接使用内置的feed storage搞定。
省事当然OK。
settings.py文件中添加行:
FEED_URI = "ftp://xxx/xxx/xxx:password@xxxftp.xxx.com/weather_101020100.text"
按照配置,奈何怎么都报错,显示域名解析不正确。
百度异常信息无果。
Debug跟进,发现ftp地址解析严重异常。
问题代码部分:
def _splitnetloc(url, start=0): delim = len(url) # position of end of domain part of url, default is end for c in '/?#': # look for delimiters; the order is NOT important wdelim = url.find(c, start) # find first of this delim if wdelim >= 0: # if found delim = min(delim, wdelim) # use earliest delim position return url[start:delim], url[delim:] # return (domain, rest)
这边留着一个坑,只要存在'/',那么就取起始位置start到最新出现的'/'位置delim间的作为域domain。
这导致,当用户名或者密码中存在'/'时,获得的域domain 就是残缺的。
所以对该段逻辑进行了 文首的修改。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:python学习--day01
下一篇:Django2.1简介及安装
- 使用scrapy框架爬取全书网书籍信息。 2019-08-13
- Django model 字段类型及选项解析 2019-07-24
- Django框架深入了解_04(DRF之url控制、解析器、响应器、版本 2019-07-24
- scrapy学习笔记(二)框架结构工作原理 2019-07-24
- 解析pascal文件格式并提取其关键信息 2019-07-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash