Я пытаюсь вычеркнуть историю с веб-сайта, на котором я работаю, когда вы вводите URL-адрес, который затем публикует сообщения у различных новостных партнеров, которые у нас есть. Проблема в том, что специальные символы, кажется, дают сбой. Я пытаюсь сделать .relace на строку, но это, кажется, не работает особенно хорошо.
Есть ли какой-либо способ заставить вывод быть полностью обычным текстом, который должен быть доступен везде? Мол, без специальных символов?
Мой текущий код:
from __future__ import division
#from __future__ import unicode_literals
from __future__ import print_function
import spynner
from mechanize import Browser
import SendKeys
from BeautifulSoup import BeautifulSoup
br = Browser()
url = "http://www.benzinga.com/trading-ideas/long-ideas/11/07/1815251/bargain-hunting-for-mid-caps-five-stocks-worth-taking-a-look-"
page = br.open(url)
html = page.read()
soup = BeautifulSoup(html)
artcontent = soup.find('div', {'class': 'article-content'})
title = artcontent.find('h1', {'id': 'title'})
title = title.string
try:
title = title.replace("'", "'")
except:
pass
authorname = artcontent.find('div', {'class': 'node full'})
authorname = authorname.find('div', {'class': 'article-submitted'})
authorname = authorname.find('div', {'class': 'info'})
authorname = authorname.find('a')
authorname = authorname.string
story = artcontent.find('div', {'class': 'node full'})
story = story.find('div', {'class': 'content clear-block'})
story = story.findAll('p', {'class': None})
#story = [str(x).replace("<p>","\n\n").replace("</p>","") for x in story]
story = [str(x) for x in story]
storyunified = ''.join(story)
#try:
# storyunified = storyunified.strip("\n")
#except:
# pass
#try:
# storyunified = storyunified.strip("\n")
#except:
# pass
#print(storyunified)
try:
storyunified = storyunified.replace("Â", "")
except:
pass
try:
storyunified = storyunified.replace("â€", "\'")
except:
pass
try:
storyunified = storyunified.replace('“', '\"')
except:
pass
try:
storyunified = storyunified.replace('"', '\"')
except:
pass
try:
storyunified = storyunified.replace('”', '\"')
except:
pass
try:
storyunified = storyunified.replace("âタ", "")
except:
pass
try:
storyunified = storyunified.replace("â€", "")
except:
pass
Как видите, я пытаюсь избавиться от них вручную, и это не всегда работает.
Затем я пытаюсь опубликовать сообщение, используя Spynner, но я не считаю этот код критическим. Я публикую в блогах Forbes.