2013-09-04 6 views
1

У меня проблема с очисткой экрана с помощью bs4. Следующий мой код.Скребок экрана, основанный на заголовке с использованием python 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"?

Надеюсь, я дал понять.

ответ

2

Вы должны будете использовать регулярное выражение здесь, как вы только хотите, чтобы соответствовать этим якорным ссылкам, которые имеют Bedroomв титуле, а не все заглавия:

import re 

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

Это дает 47 матчей для URL, который вы указали.

Смежные вопросы