BeautifulSoup SoupStrainer штамм HTML и PDF ссылки - PullRequest
0 голосов
/ 13 февраля 2011

Что мне нужно передать как шаблон регулярных выражений, чтобы получить HTML и PDF с веб-страницы HTML?Пока что у меня ниже.Я предположил, что мне нужно использовать оператор OR, но это не сработало так, как ожидалось.

status, response = http.request("http://www.example.com")
htmlandpdfonly=SoupStrainer('a', href=re.compile('html|pdf'))
for link in BeautifulSoup(response, parseOnlyThese = htmlandpdfonly):
    if(link.has_key('href')):
        print link['href']

1 Ответ

3 голосов
/ 13 февраля 2011
import re
from BeautifulSoup import BeautifulSoup

# find ".html" or ".pdf" in a string
match = re.compile('\.(html|pdf)')

# parse page content
status, response = http.request("http://www.example.com")
page = BeautifulSoup(response)

# check links
for link in page.findAll('a'):
    try:
        href = link['href']
        if re.search(match, href):
            print href
    except KeyError:
        pass
...