美文网首页璃木python爬虫学习
Python爬虫基础3-BeautifulSoup4

Python爬虫基础3-BeautifulSoup4

作者: XiaoluD | 来源:发表于2015-02-04 10:13 被阅读1116次

    在前一节我们主要讲了如图抓取受限制网站,这一节将会介绍爬虫神兵利器BeautifulSoup4.
    主要包含以下内容:

    安装BeautifulSoup4
    小试牛刀
    总结

    1.安装BeautifulSoup4

    easy_install安装方式,easy_install需要提前安装

    easy_install beautifulsoup4
    

    pip安装方式,pip也需要提前安装.此外PyPi中还有一个名字是 BeautifulSoup 的包,那是 Beautiful Soup3 的发布版本.在这里不建议安装.

    pip install beautifulsoup4
    

    Debain或ubuntu安装方式

    apt-get install Python-bs4
    

    你也可以通过源码安装,下载BS4源码

    Python setup.py install
    

    2.小试牛刀

    老样子,直接上代码

    # coding=utf-8
    '''
    @通过BeautifulSoup下载百度贴吧图片
    '''
    import urllib
    from bs4 import BeautifulSoup
    url = 'http://tieba.baidu.com/p/3537654215'
    
    # 下载网页
    html = urllib.urlopen(url)
    content = html.read()
    html.close()
    
    # 使用BeautifulSoup匹配图片
    html_soup = BeautifulSoup(content)
    # 图片代码我们在[Python爬虫基础1--urllib]( http://blog.xiaolud.com/2015/01/22/spider-1st/ "Python爬虫基础1--urllib")里面已经分析过了
    # 相较通过正则表达式去匹配,BeautifulSoup提供了一个更简单灵活的方式
    all_img_links = html_soup.findAll('img', class_='BDE_Image')
    
    # 接下来就是老生常谈的下载图片
    img_counter = 1
    for img_link in all_img_links:
        img_name = '%s.jpg' % img_counter
        urllib.urlretrieve(img_link['src'], img_name)
        img_counter += 1
    

    很简单,代码注释里面已经解释的很清楚了.BeautifulSoup提供了一个更简单灵活的方式,去分析网站源码,更快获取图片link.

    3.总结

    未完待续
    

    相关文章

      网友评论

        本文标题:Python爬虫基础3-BeautifulSoup4

        本文链接:https://www.haomeiwen.com/subject/hherxttx.html