• [Python]python爬虫简单试用


    一直用的是python3.4版本,所以只用了urllib爬数据,然后使用BeautifulSoup做为分析。

    1、首先安装BeautifulSoup,执行命令如下:

    pip install BeautifulSoup4
    

    2、第二步开始写代码,就以我的博客为例,其实代码很简单

    from urllib import request
    from bs4 import BeautifulSoup
    
    fp = request.urlopen("http://www.cnblogs.com/youyuan1980/")
    html = fp.read()
    soup = BeautifulSoup(html, 'html.parser')
    for div in soup.find_all('a',attrs={"class":"postTitle2"}):
        print(div.get('href'))        #显示a标签属性的href
        print('text:'+div.get_text()) #显示a标签里面的text
    

    不用解释,看看就明白了。

    重新整理了一下,最终的代码如下:

    from urllib import request
    from bs4 import BeautifulSoup
    
    def GetHtml(url):
        fp = request.urlopen(url)
        return fp.read()
    
    def GetParser(url):
        html = GetHtml(url)
        return BeautifulSoup(html, 'html.parser')
    
    if  __name__ == '__main__':
        url = "http://www.cnblogs.com/youyuan1980/"
        titleParser = GetParser(url)
        for titlediv in titleParser.find_all('a',attrs={"class":"postTitle2"}):
            titleurl = titlediv.get('href')
            titletext = titlediv.get_text()
            infoParser = GetParser(titleurl)
            infotext = infoParser.find('div',attrs={"id":"cnblogs_post_body"})
            print(titletext)
            print(infotext)
    

      

     一些改进,可以用requests库,不要求很严格的发问下,可以这么做,使用方法如下

    import requests
    
    fp = requests.get(url)
    print(fp.text)
    

    替换掉urllib感觉更方便。

  • 相关阅读:
    关键词提取算法TextRank
    我的博文目录整理
    Windows Azure一些小技巧集合
    js数组和树互转
    this.props.form.validateFields回调不执行问题
    d3的4.x与3.x版本的区别
    d3提示框,虚线,选择区域
    d3布局
    d3文件导入和导出
    d3交互
  • 原文地址:https://www.cnblogs.com/youyuan1980/p/7629193.html
Copyright © 2020-2023  润新知