前の質問に答えて、何人かの人々は私が私のプロジェクトにBeautifulSoupを使うことを提案しました。私は彼らのドキュメントに苦労していて、それを解析することはできません。この式をBeautifulSoup式に変換できるはずのセクションを誰かに教えてもらえますか?
hxs.select('//td[@class="altRow"][2]/a/@href').re('/.a\w+')
上記の式はScrapyからのものです。そこからリンクを取得するために正規表現re('\.a\w+')
を適用しようとしています。td class altRow
他のチュートリアルやドキュメントへのポインタもいただければ幸いです。何も見つかりませんでした。
ご協力いただきありがとうございます。
編集: 私はこのページを見ています:
>>> soup.head.title
<title>White & Case LLP - Lawyers</title>
>>> soup.find(href=re.compile("/cabel"))
>>> soup.find(href=re.compile("/diversity"))
<a href="/diversity/committee">Committee</a>
それでも、ページのソースを見ると、次のようになっています"/cabel"
。
<td class="altRow" valign="middle" width="34%">
<a href='/cabel'>Abel, Christian</a>
何らかの理由で、検索結果はBeautifulSoupには表示されませんが、hxs.select('//td[@class="altRow"][2]/a/@href').re('/.a\w+')
「/ cabel」をキャッチするため、XPathには表示されます。
編集: cobbal:それはまだ機能していません。しかし、私がこれを検索すると:
>>>soup.findAll(href=re.compile(r'/.a\w+'))
[<link href="/FCWSite/Include/styles/main.css" rel="stylesheet" type="text/css" />, <link rel="shortcut icon" type="image/ico" href="/FCWSite/Include/main_favicon.ico" />, <a href="/careers/northamerica">North America</a>, <a href="/careers/middleeastafrica">Middle East Africa</a>, <a href="/careers/europe">Europe</a>, <a href="/careers/latinamerica">Latin America</a>, <a href="/careers/asia">Asia</a>, <a href="/diversity/manager">Diversity Director</a>]
>>>
2番目の文字「a」を含むすべてのリンクを返しますが、弁護士名は返しません。したがって、何らかの理由で、これらのリンク( "/ cabel"など)はBeautifulSoupに表示されません。理由がわかりません。