BeautifulSoup是处理html的利器,没有比他更简洁的库了。
当前的应用场景是我要爬取百度应用市场的apk,假设我们已经搞到了一个apk的页面url:
http://shouji.baidu.com/software/24124341.html
可以按照如下的代码爬取
from bs4 import BeautifulSoup
resp = requests.get(url)
soup = BeautifulSoup(resp.text)
如果要获取该页面通向哪些其他apk的展示页面,可以
for link in soup.find_all('a'):
sub_lnk = link.get('href')
process(sub_lnk)
通过以上的使用,可以明显看出来,你可以用
soup.标签
来获取你感兴趣的标签所包含的内容,这是不是非常简单呢,相比于htmlparser之类的库,还要写一个自己的parser类,是不是更easy。
这里需要提醒下,beautifulsoup先将html_doc转换成Unicode,所以不方便。汉语会变成乱码,解决方法是:
soup.encoding = 'utf-8'