0

だから私はただ実験して、Pythonを使ってウェブを解析しようとしています。オンラインで番組を見るために私のお気に入りのリンクを検索するスクリプトを作成しようと思いました。私は今、私のプログラムでsidereel.comを検索して、希望する番組への適切なリンクを探し、リンクを返してもらいたいと思っています。サイトがリンクを次の形式で保存していることを知っています。

watch-freeseries.mu'次に、無視する必要のある長い文字列の後に「14792088」が続きます

したがって、私ができる必要があるのは、サイトのtxtファイルでこの文字列を見つけて、文字列の最後にある8つの数字だけを返すことです。番号を取得する方法がわかりません。リンク番号であるため、番号が必要です。どんな助けでも大歓迎です

4

1 に答える 1

2

正規表現を使用すると、これをかなり簡単に行うことができます。

>>> import re
>>> text = "watch-freeseries.mu=lklsflamflkasfmsaldfasmf14792088"
>>> expr = re.compile("watch\-freeseries\.mu.*?(\d{8})")
>>> expr.findall(text)
['14792088']

式の内訳:

watch\-freeseries\.mu-期待される式の先頭に一致します。可能性のある特殊文字の前に。を付けてエスケープし\ます。

.*?-任意の文字に一致します。.任意の文字を*意味し、次々に無限に出現することを意味します。?2つ以上のURLが同じ文字列に表示された場合に一致が重複しないように、貪欲でない一致を実行することです。

(\d{8})-最後の8桁を一致させて保存します

:Webページからリンクを解析しようとしている場合は、もっと簡単な方法があります。特にBeautifulSoupパッケージのStackOverflowに関する多くの推奨事項を見てきました。自分で使ったことがないのでYMMV。

于 2013-01-26T21:49:49.817 に答える