Python代码
frombeautifulsoupimportbeautifulsoup
sorry,ImportError,为什么会有这个import error,我都安装好了的。打开官网,重新看下说明,原来安装的是BeautifulSoup 4.1版本,这个import是3.x的说法。重新打开command,输入:
Python代码
import bs4
frombs4importBeautifulSoup
咦,没有输出提示。恭喜你,BeautifulSoup包引入成功。
看文上篇博客,,想试下dir命令,看看BeautifulSoup提供了哪些方法:
Python代码
dir(BeautifulSoup)
看到一堆的方法,有点头大,将方法列出来会方便看许多。
Python代码
>>>formethodindir(BeautifulSoup):
...printmethod
...
请仔细看下其中的findXxx,nextXxx,previousXxx方法,这些方法提供了html页面的遍历、回溯、查找、匹配功能;这些功能已经能够提供获取页面信息的方法了。
Python代码
>>>importurllib2
>>>page=urllib2.urlopen('http://.baidu.com')
>>>soup=BeautifulSoup(page)
>>>printsoup.title
>>>soup.title.string
看到结果显示不错,helloworld的教程让人心里真是舒服啊。
Python代码
>>>forlindinsoup.find_all('a'):
...printlind['href']
...
看到输出了吗?是不是很简单。beautifulsoup 下载
对于熟悉Jquery和CSS的同学,这种操作就是个折磨,需要不停的根据选择出来的结果进行遍历。看到上面的输出,看到有很多的#这些非正常的URL,现在想把这些URL全部过滤掉,使用select语法就很简单了。beautifulsoup 下载
Python代码
>>>forlinkinsoup.select('a[href^=http]'):
...printlink['href'];
...
有人说我根据判断出来的URL做处理不行嘛,当然可以,我这里只是想试下select的语法,至于select中的语法定义,大家可以自行度之。准确的说,这个select语法都能重新开篇文章了。
好吧,我承认后面这些URL过滤已经超出了BeautifulSoup的能力范围了,但是单纯考虑功能的话,这些都是要考虑的内容,这些疑问大家考虑下实现原理就行,如果能做进一步的学习的话,算是本文额外的功劳了。
下面简单过下BeautifulSoup的用法:
Python代码
DEFAULT_BUILDER_FEATURES
FORMATTERS
ROOT_TAG_NAME
STRIP_ASCII_SPACES:BeautifulSoup的内置属性
__call__
__class__
__contains__
__delattr__
__delitem__
__dict__
__doc__
__eq__
__format__
__getattr__

__getattribute__
__getitem__
__hash__
__init__
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-29971-2.html
送检的产品还会不合格吗