AttributeError:“ParseResult”对象没有属性“id”

2024-05-12 22:10:31 发布

您现在位置:Python中文网/ 问答频道 /正文

def getPeopleLinks(page):
    links = []
    for link in page.find_all('a'):
        url = link.get('href')
        if url:
            if 'profile/view?id=' in url:
                links.append(url)
    return links

def getID(url):
    pUrl = urlparse(url)
    return pUrl.id

从下面执行

^{pr2}$

当我执行它时,我得到这个错误:

   return pUrl.id
AttributeError: 'ParseResult' object has no attribute 'id'

Tags: inidurlforgetreturnifdef
1条回答
网友
1楼 · 发布于 2024-05-12 22:10:31

urlparse()函数不将查询字符串解析为键值对;它只返回URL的组成部分(包括查询字符串部分,还包括方案、主机名、片段标识符等)。在

从URL中提取查询字符串后,需要将其解析出来;使用^{} function

from urllib.parse import parse_qs, urlparse

def getID(url):
    query_string = urlparse(url).query
    return parse_qs(query_string)['id'][0]

相关问题 更多 >