Как я могу передать свой список URL-адресов в качестве параметров в функциюques.get ()? (python) - PullRequest
0 голосов
/ 10 апреля 2020

JSON файл, подобный этому

{"ip":[{
  "urllist":{
             "url1", 
             "url2", 
             "url3"
             }
          }
       ]}

У меня есть такой список. Я получил этот список, проанализировав файл JSON

urls = [{'url1', 'url2', 'url3',...}]

Я не могу решить эту проблему с

for url in urls:
    url = requests.get(url)

я добавляю полный код; я упомянул содержание файла JSON выше

TEMPLATE: str = """
{}
"""
LAST = dict()
ip_address: List[str] = list()
def crop_list(_list: List[Any]):
    global LAST
    try:
       idx = _list.index(LAST)
       return _list[idx:]
    except ValueError:
       return _list
def parse_ip():
   data = crop_list(jsonData["ip"])
    for item in data:
        txt = item["urllist"]
        ip_address.append(TEMPLATE.format(txt))
    for url in ip_address:
        resp = requests.get(url)

Ответы [ 2 ]

2 голосов
/ 10 апреля 2020

URL-адреса не являются элементами в списке urls, но являются частью набора, который является единственным элементом в вашем списке urls. Вы должны изменить свой код на:

for url in urls[0]:
    res = requests.get(url)

Согласно вашему последнему редактированию, если ip_address означает список ваших URL, вы должны сделать следующее:

ip_address: List[str] = list()
def parse_ip():
   data = crop_list(jsonData["ip"])
    for item in data:
        urls = list(item["urllist"])
        ip_address.extend(urls)
    for url in ip_address:
        resp = requests.get(url)
1 голос
/ 10 апреля 2020
for url in data['ip'][0]['urllist']:
    print(url)

Выход:

url1
url3
url2
...