Python如何无空格拼接链接与ID 修复webbrowser.open访问失效问题
问题根源
代码未对链接片段和随机ID做字符串拼接,而是将二者作为两个独立位置参数传入webbrowser.open()。该方法处理多参数时会自动以空格分隔参数内容,最终生成的访问地址自然会在等号与ID之间多出空格,导致链接失效。
另外注意你代码中链接片段写的是view&id=,这是HTML转义后的写法,如果不是从爬取的HTML源码中提取的转义文本,直接写view&id=即可,否则拼接后的链接会多出amp;字符,同样无法正常访问。
修复方案
将两个内容拼接为完整的字符串后,再作为唯一参数传入webbrowser.open()即可实现无间隔拼接,三种常用实现方式如下:
- 加号直接拼接:兼容所有Python版本,注意整数类型的ID需要先转成字符串
import webbrowser import random idr = random.randint(10000, 9999999) link = 'view&id=' full_link = link + str(idr) webbrowser.open(full_link)
- f-string格式化(Python 3.6及以上版本推荐,写法简洁无需手动转换类型)
import webbrowser import random idr = random.randint(10000, 9999999) link = 'view&id=' full_link = f"{link}{idr}" webbrowser.open(full_link)
- format方法拼接:兼容低版本Python3环境
import webbrowser import random idr = random.randint(10000, 9999999) link = 'view&id=' full_link = "{}{}".format(link, idr) webbrowser.open(full_link)
内容的提问来源于stack exchange,提问作者Midas
相关产品推荐
相关产品推荐

