Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么我的for循环只检查最后一项?_Python_Loops_For Loop_Python Requests_Grequests - Fatal编程技术网

Python 为什么我的for循环只检查最后一项?

Python 为什么我的for循环只检查最后一项?,python,loops,for-loop,python-requests,grequests,Python,Loops,For Loop,Python Requests,Grequests,我已经构建了一个异步程序,它将检查一个元素是否存在于网站的多个路径上。 该程序有一个基本url,它将获得要检查的域的不同路径,这些路径位于json文件(name.json)中。 如果我要查找的元素存在,程序应该打印出“1”。但我很快意识到,它只选择检查json列表中的最后一项 import json import grequests from bs4 import BeautifulSoup idlist = json.loads(open('name.json').read()) base

我已经构建了一个异步程序,它将检查一个元素是否存在于网站的多个路径上。 该程序有一个基本url,它将获得要检查的域的不同路径,这些路径位于json文件(name.json)中。 如果我要查找的元素存在,程序应该打印出“1”。但我很快意识到,它只选择检查json列表中的最后一项

import json
import grequests
from bs4 import BeautifulSoup

idlist = json.loads(open('name.json').read())

baseurl = 'https://steamcommunity.com/id/'

for uid in idlist:
    fullurl = baseurl + uid

rs = (grequests.get(fullurl) for uid in idlist)
resp = grequests.map(rs)

for r in resp:
    soup = BeautifulSoup(r.text, 'lxml')

    if soup.find('span', class_='actual_persona_name'):
        print('1')

    else:
        print('2')

json文件只是由一个随机数组组成,用于测试程序

["xyz", 
"sdasda9229", 
"sdasda923229", 
"sda", 
"sda",
"sda",
"sd2",
"aaaaaa",
"aaaaaaaaa",
"aa2092425",
"aaaa23917"]

在将id附加到基本url后,它不会被存储。在构造
get
请求时,必须存储它并传递完整的URL

complete_urls = []

for uid in idlist:
    fullurl = baseurl + uid
    complete_urls.append(fullurl)

rs = (grequests.get(fullurl) for fullurl in complete_urls)