Python 刮除可见文本

Python 刮除可见文本,python,web-scraping,beautifulsoup,urllib2,Python,Web Scraping,Beautifulsoup,Urllib2,我在网络抓取领域绝对是个新手,现在我想从网页中提取可见文本。我在网上找到了一段代码: import urllib2 from bs4 import BeautifulSoup url = "http://www.espncricinfo.com/" web_page = urllib2.urlopen(url) soup = BeautifulSoup(url , "lxml") print (soup.prettify()) 对于上述代码,我得到以下结果: /usr/local/

我在网络抓取领域绝对是个新手,现在我想从网页中提取可见文本。我在网上找到了一段代码:

import urllib2
from bs4 import BeautifulSoup

url = "http://www.espncricinfo.com/"
web_page = urllib2.urlopen(url)

soup = BeautifulSoup(url , "lxml")
print (soup.prettify())
对于上述代码,我得到以下结果:

    /usr/local/lib/python2.7/site-packages/bs4/__init__.py:282: UserWarning: "http://www.espncricinfo.com/" looks like a URL. Beautiful Soup is not an HTTP client. You should probably use an HTTP client like requests to get the document behind the URL, and feed that document to Beautiful Soup.
  ' that document to Beautiful Soup.' % decoded_markup
<html>
 <body>
  <p>
   http://www.espncricinfo.com/
  </p>
 </body>
</html>
/usr/local/lib/python2.7/site-packages/bs4/__-init__u;.py:282:UserWarning:http://www.espncricinfo.com/“看起来像一个URL。Beauty Soup不是HTTP客户端。您可能应该使用类似HTTP客户端的请求来获取URL后面的文档,并将该文档提供给Beautiful Soup。
“那份文件很漂亮。”%decoded\u

http://www.espncricinfo.com/


无论如何,我可以得到一个更具体的结果,以及代码发生了什么错误。抱歉,我不清楚。

请尝试将html文档而不是url传递到:

import urllib2
from bs4 import BeautifulSoup

url = "http://www.espncricinfo.com/"
web_page = urllib2.urlopen(url)

soup = BeautifulSoup(web_page , 'html.parser')
print (soup.prettify().encode('utf-8'))

尝试将html文档而不是url传递到以下地址:

import urllib2
from bs4 import BeautifulSoup

url = "http://www.espncricinfo.com/"
web_page = urllib2.urlopen(url)

soup = BeautifulSoup(web_page , 'html.parser')
print (soup.prettify().encode('utf-8'))
您应该将类似文件的对象传递给BeautifulSoup,而不是url

url由
urlib2.urlopen(url)
处理并存储在
web\u页面中

您应该将类似文件的对象传递给BeautifulSoup,而不是url



url由
urllib2.urlopen(url)
处理并存储在
web\u页面中

您是否可以读取错误?我们在这里不是为了让你以更易读的格式重复信息,你说的提取可见文本是什么意思,你能举一个网站的例子,以及你可以提取什么样的文本。对不起!这基本上是一个用户警告,说明我已经提供了一个URL,我可能应该使用HTTP客户端。Beautiful soup只接受URL后面的文档。现在看看您的代码,看看是什么原因造成的。@RohinGopalakrishnan我最终想从一个特定的新闻链接(比如Udayavaani)中提取一段卡纳达语。您能读懂错误吗?我们在这里不是为了让你以更易读的格式重复信息,你说的提取可见文本是什么意思,你能举一个网站的例子,以及你可以提取什么样的文本。对不起!这基本上是一个用户警告,说明我已经提供了一个URL,我可能应该使用HTTP客户端。Beautiful soup只接受URL后面的文档。现在看看你的代码,看看是什么原因造成的。@RohinGopalakrishnan我最终想从一个特定的新闻链接(比如Udayavaani)中提取一个卡纳达段落。我得到的是一个“ascii”编解码器无法编码字符错误。只需在mac和linux上复制粘贴此代码即可,得到了回应。哪一行给了你错误?谢谢!如果我们显式地对prettify函数给出的输出进行编码,那么上面的代码就会运行。是否有更好的工具可以刮取?您能否提示我一个流程,我可以根据需要了解如何以特定方式刮取?就编码而言,您可以从文档中指定编码。就刮削而言,每个案例都是独立的,具体取决于数据的确切格式和复杂程度。如果你想真正解析html,那么BeautifulSoup就是一个很好的例子。在某些情况下,您可以通过简单的正则表达式搜索来解决问题。我收到一个“ascii”编解码器无法编码字符错误。只需在mac和linux上复制粘贴此代码,即可获得响应。哪一行给了你错误?谢谢!如果我们显式地对prettify函数给出的输出进行编码,那么上面的代码就会运行。是否有更好的工具可以刮取?您能否提示我一个流程,我可以根据需要了解如何以特定方式刮取?就编码而言,您可以从文档中指定编码。就刮削而言,每个案例都是独立的,具体取决于数据的确切格式和复杂程度。如果你想真正解析html,那么BeautifulSoup就是一个很好的例子。在某些情况下,只需简单的正则表达式搜索即可