安装方法:
举例说明:
# -*- coding:utf-8 -*-
from bs4 import BeautifulSoup
import urllib2
import re
url="http://www.baidu.com"
res1=urllib2.urlopen(url)
print res1.getcode()
htmldoc=res1.read() #得到百度的源码
soup=BeautifulSoup(htmldoc, #html源码文档字符串
'html.parser', #html解析器
from_encoding='utf-8') #编码方式
links=soup.find_all('a') #用find_all找到所有a标签的内容
print("\n找出所有链接")
for link in links:
#打印出a标签的标签名称,href携带的链接,href链接的名字,会看到输出一些javascript
print link.name,link['href'],link.get_text()
#找出一个特定的链接
print("\n找出一个特定的链接")
link_node=soup.find('a',href="http://home.baidu.com")
print link_node['href'],link_node.get_text()
#正则表达式
print("\n正则匹配有'anyi'的链接")
link_node=soup.find('a',href=re.compile(r"anyi"))
print link_node['href'],link_node.get_text()
结果截图:
不足:javascript还没有去除,没有爬到真正的http://链接
有一个点:class不能看作标签属性,里面的href为属性,若要对class进行筛选,要避免关键词“class”,变为soup.find("a",cla="xxx")