网页解析器beautifulsoup安装使用

安装方法:


举例说明:

# -*- 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")


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值