python обработка входящих с URL - PullRequest
0 голосов
/ 21 марта 2020

Я отправляю запрос ниже на URL и получаю от него ответ

import requests

url = "http://localhost/dat.txt"

payload = {}
headers = {
  'Upgrade-Insecure-Requests': '1',
  'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36',
  'Sec-Fetch-Dest': 'document',
  'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9'
}

response = requests.request("GET", url, headers=headers, data = payload)

print(response.text.encode('utf8'))

Ниже приведены данные ответа, которые я получаю -

mohame4|nameon@example.com|passsd!@#$4|head,customer|manager,devlop
mohame3|nameon3@example.com|passsd!@#$4|head,customer|manager,devlop

Я делаю это с данными

for i in response.text:
 try:
     i = i.strip().split('|')
     userna = i[0]
     emaill = i[1]
     passd = i[2]
     rol1= i[3]
     rol2= i[4]
 except:
     pass

Как сделать rol1 как

this head,customer

до

 rol1=['head','customer']

Ответы [ 2 ]

1 голос
/ 21 марта 2020

Просто split полученная строка:

rol1 = i[3].split(',')

Вы можете сделать это больше ... изящно, хотя, используя итеративную распаковку:

username, email, password, rol1, rol2 = i.strip().split('|')
rol1 = rol1.split(',')
0 голосов
/ 21 марта 2020

спасибо за все специальные помощники @ ForceBru

import requests

url = "http://localhost/dat.txt"


response = requests.request("GET", url)

print(response.text)
dat = str(response.text).split('\n')
for i in dat:
    i = i.strip().split('|')
    print(i[3].split(","))
    # TODO: write code...
...