登录网站后,我想收集其链接.这是我用这个函数(使用mechanize和urlparse库):
br = mechanize.Browser() . . #logging in on website . for link in br.links(): url = urlparse.urljoin(link.base_url, link.url) hostname = urlparse.urlparse(url).hostname path = urlparse.urlparse(url).path #print hostname #by printing this I found it to be the source of the None value mylinks.append("http://" + hostname + path)
我收到此错误消息:
mylinks.append("http://" + hostname + path) TypeError: cannot concatenate 'str' and 'NoneType' objects
我不确定如何解决这个问题,或者即使它可以修复.有没有办法强制函数追加,即使它会为None值产生一个非工作和奇怪的结果?
或者,我在链接中真正关注的是链接结束的内容.例如,其中一个链接的html代码看起来像这样(我所追求的是世界"lexik"):
1 个回答
没有任何尝试和除块之外的另一个好方法 -
替换
hostname = urlparse.urlparse(url).hostname
为hostname = urlparse.urlparse(url).hostname or ''和类似的路径=
urlparse.urlparse(url).path
与path = urlparse.urlparse(url).path or ''希望这可以帮助 !
2023-02-13 15:45 回答贝贝2602932923撰写答案今天,你开发时遇到什么问题呢?立即提问PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有