0

Web スクレイパーで、.od .jpg .pdf または .mp3 で終わる印刷リンクを除外する必要があります

これが私のif声明です

if link in linkList():
      print link

そのためのPythonのライブラリはありますか?私は「RegEx」しか知りませんが、私はそれの最大のユーザーではありません。

4

2 に答える 2

1

別の方法。解決策はおそらくより良いですが、os.path.splitext文字列が多くの部分文字列のいずれかで終わっているかどうかを確認するには:

if link.endswith((".pdf", ".mp3", ".jpg")):
    print link
于 2013-08-26T14:38:43.900 に答える
1

リンクが単なるパスであると仮定すると、次のようなことができます。

import os
if os.path.splitext(link)[1] not in ['.jpg', '.pdf', '.mp3']:
    print link

この関数splitextはパスを受け取り、拡張子のないパスとそれに続く拡張子を含むタプルを返します。例えば:

>>> os.path.splitext('http://www.example.com/path/to/filename.ext')
('http://www.example.com/path/to/filename', '.ext')

したがって、その関数でリンクを分割すると、タプルの最後の要素が、拡張機能のブラックリストを含む別のリスト/セット/タプルのメンバーであるかどうかを確認できます。

于 2013-08-26T13:53:01.697 に答える