2016-10-19 4 views
0

私は問題を抱えていますが、私はそれを見上げましたが、正確に何を調べて、私のこととは関係のない問題を見ていました。彼らは追加しアレント場合、彼らは、再びそれらを追加していけないしている場合は、//文字入力の先頭に含まれています:httpがあればのpythonPython:入力の最初の文字を確認してください

flashSite = raw_input('[?] Please Provide a Web Url : ') 

で、それは私がそれを確認したい入力を受け取り後それらのユーザーのために、ヘルプは非常に高く評価されて..また、私はコメントなどにコードを置くような小さな事柄で問題を抱えているので、Stackoverflowに新しいです:(

編集: だから他の回答やコメントから私はこの

def ScrapeFlashFiles(): 
flashSite = raw_input('Please Provide a web URL : ') 
if flashSite.lower().startswith(flashSite, beg=0, end=7('http://')): 
    return flashSite 
elif flashSite.lower().startswith(flashSite, beg=0, end=4('www.')): 
    flashSite = 'http://' + flashSite 
print ' Sending requests... ' 
flashReq = requests.get(flashSite) 
print ' Scraping content ' 
flashTree = html.fromstring(flashReq.content) 
print 'Searching for keyword \'.swf\' ' 
for line in flashReq.content.split('\n'): 
    if '.swf' in line: 
     print line 
print 'Flash Scrape Complete..' 

で出てきたが、私はここで間違って何かをやっていますか?

注私は初心者です.. Imはint型の話になりましたエラーを取得..私はから見えるように、文字列を返すraw_input STARTSWITH方法 https://www.tutorialspoint.com/python/string_startswith.htm

+1

'startswith'方法を見てください文字列の –

+0

したがって、begとendパラメータを使用してstartswithメソッドを使用してif文を作成することは可能でしょうか? – Xploit

+0

あまりにもシンプルです。 slashSite [0:7] == "http://" ... –

答えて

1

について読んでいたところへ

ソースドキュメント:https://docs.python.org/2/library/functions.html#

文字列型で作業しているので、文字列メソッドhttps://docs.python.org/2/library/stdtypes.html#string-methodsのいずれかを使用できます。例えば

expected_beginning = 'http://' 
if not flashSite.startswith(expected_beginning): 
    flashSite = expected_beginning + flashSite 

それは常に実行して小文字だことを確認しますようにあなたは、面白いことを行うことができます:

if not flashSite.lower().startswith(expected_beginning): 

など

+0

私はちょうどそのようなものをコード化しましたが、もし私が使っていないのであれば、私は知りませんでした。 ifとelifはその悪い練習ですか? – Xploit

+0

私の意見は、あなたのコードは全般的に「同じスタイル」でなければならないということです。 ifsとelifsを使うのは悪くないです。この場合、行数を減らすために「if not」節を実行することにしました。 「賢い」コードはもっと混乱する可能性があるので、コードを読みやすくするだけで、行を追加することは害ではないことに注意してください。 – AbrahamB

+0

ああ大丈夫、それは意味がある – Xploit

関連する問題