Почему запросы Python имеют проблемы с понижением аргументов - PullRequest
0 голосов
/ 03 января 2019

Я получаю системные аргументы в python, и у меня возникают проблемы с передачей их после добавления .lower()

Я пробовал несколько разных решений, таких как

list_join = ''.join(arg_list_split).lower()

или

list_join = str(arg_list_split).lower()

похоже, что почтовый запрос не распознает некоторые заглавные буквы в моем вызове программы линии,

, если я делаю вызов как python movie_find.py war spartacus = все в порядкено когда я звоню python movie_find.py war Spartacus = выглядит так, как будто он перестает работать, это означает, что строковые аргументы не передаются должным образом для отправки запроса

#!/usr/bin/env python3
import requests, re, sys
from bs4 import BeautifulSoup as bs

url = 'https://alltube.tv/szukaj'

arg_list_split = sys.argv[1:]

list_join = ' '.join(arg_list_split)

s = requests.Session()
response = s.post(url, data={'search' : list_join})
soup = bs(response.content, 'html.parser')

for link in soup.findAll('a', href=re.compile('serial')):
    final_link = link['href']
    if all(i in final_link for i in arg_list_split): 
        print(final_link)

Я хотел быполучить результат, как программный вызов с маленькими или заглавными или заглавными буквами, которые все опущены и переданы для правильного размещения запроса, а затем получить окончательную ссылку с сайта

1 Ответ

0 голосов
/ 03 января 2019

Если вы вызываете сценарий со строкой в ​​верхнем регистре, вы сравниваете строки в верхнем и нижнем регистре в выражении

if all(i in final_link for i in arg_list_split):

, которое не дает результата.

Вам необходимо убедиться, что arg_split_list содержит только строчные буквы, например, путем

arg_list_split = [x.lower() for x in sys.argv[1:]]
...