如何在网站上找到句子?

问题描述:

我正在努力做一些简单的单词/判刑。如何在网站上找到句子?

尝试这样:

import urllib 
from urllib import request 

url = "https://fotka.com/profil/k" 
word = "Nie ma profilu" 


def search_website(url, word): 
page = urllib.request.urlopen(url) 
phrase_present = False 

for i in page: 
    if bytes(word, encoding='utf8') in i: 
     phrase_present = True 
     print(i) 

return phrase_present 

finder = search_website(url, word) 
print(finder) 

看起来它工作正常,但,解释有关url。 如果你在浏览器中打开:

url = "https://fotka.com/profil/k" 

确实是有搜索word所以目前的回报True,但如果你打开:

url = "https://fotka.com/profil/kkkk" 

有没有这样的word页面上,它仍然返回True

我检查的变量page并在这两种情况下的内容是一样的,而url是不同的...

任何人都知道为什么与解决办法的任何想法?

您已经发布了一个非常广阔的演员,但我认为你正在寻找段落标记<p>之间的数据:

import re 
import urllib 
url = "some page" 
word = "some word" 

page_data = str(urllib.urlopen(url).read()) 
paragraph_data = re.findall("<p>(.*?)</p>", page_data) 
final_paragraph_data = [i for i in paragraph_data if word in i] 

final_paragraph_data现在存储了包含word内容句子的所有集群的列表。

+0

你可能也想看看我已经改变了我的问题的内容更加理解了're.MULTILINE'和're.DOTALL'标志 –

+0

。 – Emejcz

如果您的问题是“如何检查页面上是否有可见的测试?”那么,这可能是您的解决方案为您

import urllib 
from bs4 import BeautifulSoup 

url = "some page" 
word = "some word" 

page = urllib.urlopen(url).read() 

html = BeautifulSoup(page, "html.parser") 
print word in html.get_text() 
+0

我改变了我的问题的内容,以便更容易理解。 – Emejcz