过滤网站上的特定评论

时间:2018-08-16 05:47:41

标签: python beautifulsoup web

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import urllib2
#import re
from BeautifulSoup import BeautifulSoup

headers = {'User-Agent': 'Mozilla/5.0'}

req = urllib2.Request('https://www.sikayetvar.com/onedio', 
None,headers)
resp  = urllib2.urlopen(req)
html = resp.read()
soup = BeautifulSoup(html)

complaints = soup.findAll('p', attrs = {'class' : 'complaint-summary'})


for complaint in complaints:
   if complaint.text.find("genç") is not -1:
      print complaint.text

我想过滤网站上包含特定单词的某些投诉,但我无法搜索其中包含非ASCII字符的单词。我正在使用python 2.7和beautifulsoup。知道为什么会这样吗?

2 个答案:

答案 0 :(得分:0)

YouTube应该将od语句更改为您的测试是否位于p标签内

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import urllib2
from BeautifulSoup import BeautifulSoup

headers = {'User-Agent': 'Mozilla/5.0'}

req = urllib2.Request('https://www.sikayetvar.com/onedio', 
None,headers)
resp  = urllib2.urlopen(req)
html = resp.read()
soup = BeautifulSoup(html)

complaints = soup.findAll('p', attrs = {'class' : 'complaint-summary'})

for complaint in complaints:
    if b"genç".decode("utf-8") in complaint.text:
        print(complaint.text)

答案 1 :(得分:0)

请勿使用python2。他们将在未来几年停止支持它。

import requests
from bs4 import BeautifulSoup 

response = requests.get('https://www.sikayetvar.com/onedio',headers = {'User-Agent': 'Mozilla/5.0'})

soup = BeautifulSoup(response.content,'lxml')

complaints = soup.select('p.complaint-summary')
for complaint in complaints:
    if "genç" in complaint.text:
        print(complaint.text.strip())

输出将为

Ne yazık ki bir sosyal sitede ahlak dışı içerikli haberler durulmuyor. Çocuk ve gençler için sakıncalı olduğunu düşünüyorum. Fotoğraflarda saçma başlıkları görebilirsiniz. Başlıklardan anlaşılacağı üzere cinsel…