使用BeautifulSoup提取特定行

时间:2018-01-22 17:29:28

标签: python python-3.x beautifulsoup

我想知道如何从网站上提取一条确切的行,或者只是让它打印某个单词所在的所有内容。示例“我的狗是一只漂亮的狗”,如果我使用“美丽”这个词,我希望Python找到整个句子并将其返回。

import bs4 as bs
import urllib.request

sauce = urllib.request.urlopen('http://prisleje.dk/?page_id=2').read()
soup = bs.BeautifulSoup(sauce,"html.parser")

print(soup.find("eksempler"))

1 个答案:

答案 0 :(得分:0)

你可以试试这个

import re
import requests
from bs4 import BeautifulSoup

r = requests.get('http://prisleje.dk/?page_id=2', headers={'User-Agent': 'My Agent'})
soup = BeautifulSoup(r.text, 'html.parser')
print(soup.find(text=re.compile('eksempler')))

输出:

eksempler på sager vi kan hjælpe med

注意:

当网站阻止默认User-Agent时,您需要传递一些headers

如果您不熟悉regex,可以阅读此内容 - Python Regular Expressions