我想从网页中提取一些文字。我搜索了StackOverFlow(以及其他网站)以找到合适的方法。我使用HTML2TEXT,BEAUTIFULSOUP,NLTK和其他一些手动方法进行提取,但我失败了例如:
这是我的目标网址:http://vynylyn.yolasite.com/page2.php 我想只提取没有tags \ codes的波斯段落。
(注意:我使用Eclipse Kepler w \ Python 34也想提取文本然后我想在文本上进行POS标记,Word \ Sentence Tokenizing等。)
我有什么选择让这个工作?
答案 0 :(得分:1)
我一开始就选择第二个选项。 BeautifulSoup 4应该(而且确实)肯定是support unicode(注意它的UTF-8,一个全局字符编码,因此没有任何关于它的波斯语。)
是的,你会得到标签,因为它是一个HTML页面。尝试搜索唯一ID,或查看页面上的HTML结构。对于您的示例,请查找元素main
,然后查找下面的内容元素,或者在该特定页面中使用div#I1_sys_txt
。获得元素后,只需拨打get_text()。
试试这个(现在在Python 3中):
#!/usr/bin/env python3
import requests
from bs4 import BeautifulSoup
content = requests.get('http://vynylyn.yolasite.com/page2.php')
soup = BeautifulSoup(content.text)
tag = soup.find('div', id='I1_sys_txt')
print(tag.get_text() if tag else "<none found>")