1

添付の text.txt ファイル (html 構文) を次のスクリプトで解析してみます。

#!/usr/bin/python3

import re
from bs4 import BeautifulSoup

pattern = re.compile("www.geocaching.com")
f=open("text.txt")
text=f.read()
f.close()
s = BeautifulSoup(text)
a = s.find_all(href=pattern)
print(len(a))
print (a[len(a)-1])

href="www.geocaching.com" を含むすべてのタグを期待していますが、添付ファイルからすべてを取得することはできません。最後のものは次のとおりです。

<a class="lnk " href="http://www.geocaching.com/geocache/GC3HWHJ_corse-known-unknown-2-view-on-ile-de-giraglia"><span>Corse known &amp; unknown 2 - View on Ile de Giraglia</span></a>

簡単な HTML コードのみを含む 626 ~ 674 行を削除すると、次の 2 つが表示されます。

<a class="lnk " href="http://www.geocaching.com/geocache/GC3MEDG_tour-genoise-dagnello"><span>TOUR GENOISE D'AGNELLO</span></a>

ただし、html ファイルで手動で見つけることができるすべての結果が得られるわけではありません。

私が使用するファイルはここからです (ローカルで使用するためにダウンロードしました) https://www.geocaching.com/seek/nearest.aspx?lat=43.410333&lon=09.0476&dist=100

4

1 に答える 1

0

代わりに、次の方法で CSS セレクターを使用してみてください。

from bs4 import BeautifulSoup

f = open("text.txt")
text = f.read()
f.close()

soup = BeautifulSoup(text)

# this find all the href containing the text "www.geocaching.com"
links =  soup.select('[href]~="www.geocaching.com"')
于 2013-11-22T16:14:20.473 に答える