1

bs4を使用したスクリーンスクレイピングに問題があります。以下は私のコードです。

from bs4 import BeautifulSoup
import urllib2
url="http://www.99acres.com/property-in-velachery-chennai-south-ffid?"
page=urllib2.urlopen(url)
soup = BeautifulSoup(page.read())
properties=soup.findAll('a',{'title':'Bedroom'})
for eachproperty in properties:
    print eachproperty['href']+",", eachproperty.string

サイトを分析したところ、実際のタイトル構成はこんな感じ

1 Bedroom, Residential Apartment in Velacheryすべてのアンカー リンクに対して。しかし、これに対する出力は得られず、エラーもありません。では、単語を含むタイトルを持つすべてのデータをスクレイピングするようにプログラムに指示するにはどうすればよい"Bedroom"でしょうか?

私がそれを明確にしたことを願っています。

4

1 に答える 1

2

ここでは正規表現を使用する必要があります。タイトル全体ではなく、タイトルに含まれるアンカー リンクのみを一致させたいからBedroom です

import re

properties = soup.find_all('a', title=re.compile('Bedroom'))

これにより、指定した URL に対して 47 件の一致が得られます。

于 2013-09-04T12:03:51.583 に答える