Я читал здесь несколько сообщений об этом, но я очень новичок в Python в целом, поэтому я надеялся получить дополнительную информацию.Скребок в Python с BeautifulSoup
По существу, я пытаюсь написать что-то, что вытащит определения слов с сайта и напишет их в файл. Я использую BeautifulSoup, и я сделал довольно некоторый прогресс, но вот мой вопрос -
from __future__ import print_function
import requests
import urllib2, urllib
from BeautifulSoup import BeautifulSoup
wordlist = open('test.txt', 'a')
word = raw_input('Paste your word ')
url = 'http://services.aonaware.com/DictService/Default.aspx?action=define&dict=wn&query=%s' % word
# print url
html = urllib.urlopen(url).read()
# print html
soup = BeautifulSoup(html)
visible_text = soup.find('pre')(text=True)
print(visible_text, file=wordlist)
это кажется тянуть то, что мне нужно, но ставит его в этом формате
[u'passable\n adj 1: able to be passed or traversed or crossed; "the road is\n passable"
но Мне нужно, чтобы это было открыто. Я пробовал использовать дезинфицирующее средство (я запускал его через отбеливатель, но это не сработало. Я прочитал некоторые другие ответы здесь, но они не объясняют, КАК работает код, и я не хочу чтобы добавить что-то, если я не понимаю, как это работает
есть ли способ, чтобы просто вытащить открытого текста
редактировать:.? Я закончил тем, что делал
from __future__ import print_function
import requests
import urllib2, urllib
from bs4 import BeautifulSoup
wordlist = open('test.txt', 'a')
word = raw_input('Paste your word ')
url = 'http://services.aonaware.com/DictService/Default.aspx?action=define&dict=wn&query=%s' % word
# print url
html = urllib.urlopen(url).read()
# print html
soup = BeautifulSoup(html)
visible_text = soup.find('pre')(text=True)[0]
print(visible_text, file=wordlist)
Так что выход вы на самом деле хотите? Это список строк в Юникоде. Если вы хотите, вы можете сказать: «для temp в visible_text: print (temp)» в качестве вашей последней строки. –
Или «для temp в visible_text: print (temp.strip())» –
попытайтесь удалить символы, которые не хотят взгляните на [http://stackoverflow.com/questions/5843518/remove-all-special- characters-punctuation-and-spaces-from-string] (http://stackoverflow.com/questions/5843518/remove-all-special-characters-punctuation-and-spaces-from-string) и [http: // stackoverflow .com/вопросы/1038824/как-делать-я-удалить-а-подстроку-из-отслуживших в струне-в-питон] (http://stackoverflow.com/questions/1038824/how- do-i-remove-a-substring-from-the-end-of-a-string-in-python) – r3v3r53