为什么我收到 AttributeError dict_keys object has no valueappend?

问题描述 投票:0回答:1

从这段代码中,当我将变量分配为循环上方的列表(release_list.append)时,为什么我会收到 dict_keys 属性错误,我相信这可能是一个缩进错误,因为在我尝试将其放入之前它正在工作它是自己的 def,但我无法让它工作。

import requests
import html
import json
import sys
from bs4 import BeautifulSoup

    
def removeDupes(seq):
    # Not order preserving
    keys = {}
    for e in seq:
        keys[e] = 1
    return keys.keys()



def Add_VideoID_ToDB(url):

#url = sys.argv[1:]
    print(url)
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36',}
    response = requests.get(url, headers=headers)

    if response.status_code == 200:
        print(response.text)
        searchStartText = "class=\"last-page\">"
        searchStart = response.text.find(searchStartText) + len(searchStartText)
        searchEndText = "</a>"
        searchEnd = response.text.find(searchEndText, searchStart)
        lastPage = response.text[searchStart:searchEnd]
        print(lastPage)

        parsed_html = BeautifulSoup(response.text)
        trimmed_html = parsed_html.body.find_all('div', attrs={'class':'thumb-block'})
        
        for div in trimmed_html:
            links = div.findAll('a')
            ids = div.findAll('id')
        for idfound in ids:
            print(idfound['data-id'])
    
#print(links[0]) section html
        release_list = []
        release_dictionary = {}
        sorted_list = []
    for a in links:

        if (a['href'][:6]) == "/video":
            print("link : " + a['href'])
            release_list.append(a['href'])
            release_list = removeDupes(release_list)
            sorted_list = list(release_list)

我尝试将代码移动到不同的缩进块中,但没有任何效果

python loops parsing attributeerror
1个回答
0
投票

您需要更新

key.keys()

更新部分:removeDupes()

def removeDupes(seq):
    seen = set()
    return [x for x in seq if not (x in seen or seen.add(x))]

对于链接上的 for 循环,缩进也是错误的

for div in trimmed_html:
    links = div.findAll('a')
    # your code
    for a in links:
        # your code
© www.soinside.com 2019 - 2024. All rights reserved.