在美丽的汤中忽略find_all中字符串的一部分

时间:2014-02-02 07:58:33

标签: python web-scraping beautifulsoup

我想要从this网页上取消所有网址。

我正在使用的python代码就是这个

htmlfile=urllib.urlopen("http://dubai.dubizzle.com/property-for-rent/residential/apartmentflat/").read()
soup=BeautifulSoup(htmlfile)

link=soup.find_all('a', xtclib="listing_list_1_title_link", href=True)

for a in link:
    print a['href'],'\b'

但它仅提取带有xtclib =“listing_list_1_title_link”的网址。如何使表达式像xtclib =“listing_list_(此处任何数字)_title_link”

1 个答案:

答案 0 :(得分:2)

您可以传递已编译的正则表达式对象:

import re

...

link=soup.find_all(
    'a',
    xtclib=re.compile(r"listing_list_\d+_title_link"),
    href=True)

请参阅Beautiful Soup Documentation - Regular Expression