Получить случайную строку из url с запросами - PullRequest
1 голос
/ 06 мая 2020

Мне нужно, чтобы моя программа go указывала URL-адрес (в URL-адресе есть только обычный текст), и я хочу, чтобы она получала случайную строку из URL-адреса. Кажется, я не могу заставить его работать.

Это то, что вы получаете, когда посещаете URL:

opulence
sumptuousness
elegant
lavishness
sumptuosity
luxuriousness
affluence
hotel
boutique
villas
interiors
sedans
amenities
furnishings
condo
automobiles
frills
fancy
mansions
leisure
condominium
dining

Это мой код:

import random, requests

amount = int(input("Amount of lines to get?: "))
shopping_begin = requests.get("URL")

def generate_dork():
    for x in range(amount):
        for line in shopping_begin.text:
            return "".join([random.choice(line)])

Ожидаемый результат: случайные строки из URL-адреса, которые будут напечатаны на сумму int(input))

Результат: o (когда я вставляю 20 вместо amount)

Ответы [ 2 ]

2 голосов
/ 06 мая 2020

Вы не должны сюда возвращаться

return "".join([random.choice(line)])

Вы берете элемент, и функция уже возвращается. Вместо этого сделайте что-то вроде

def generate_dork():
   list = []
   for x in range(amount):
       for line in shopping_begin.text:
           list += [random.choice(line)]
   return list

Чтобы вернуть строку, возможно, что-то вроде этого будет

def generate_dork():
   list = []
   for x in range(amount):
       for line in shopping_begin.text:
           list += [random.choice(line)]
   return " ".join(list)
0 голосов
/ 06 мая 2020

Вы должны использовать random.choices вместо random.choice.

Например, если у вас есть такой текст:

opulence
sumptuousness
elegant
lavishness
sumptuosity
luxuriousness
affluence
hotel
boutique

И у вас есть сумма.

Вы можете использовать random.choices, чтобы получить N случайных вариантов в списке из списка:

import random

random_choices_list = random.choices([line for line in shopping_begin.text], k=amount)

Затем вы можете преобразовать список в строку, если хотите сохранить его как текст, а не как список python:

# you can specify the separator 
text_plan = " ".join(random_choices_list) # white space separator
text_plan = ",".join(random_choices_list) # comma separator
text_plan = "\n".join(random_choices_list) # new line separator
...