zoukankan      html  css  js  c++  java
  • python3 爬取深圳主板公司名称,公司网址

    1. 需要阅读的文档:
      Requests:http://cn.python-requests.org/zh_CN/latest/user/quickstart.html
      BeautifulSoup:https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/
    2. 说明:
      爬虫入口网址:http://www.cninfo.com.cn/cninfo-new/information/companylist
      抓取目标:公司代码公司名称、公司公告地址
    3. python3.5完整代码如下:
    import codecs                    #内置自然语言编码转换库
    import csv                       #内置csv模块
    
    import requests                  #网页下载器模块
    from bs4 import BeautifulSoup    #网页解析器模块
    
    
    def getHTML(url):                #定义下载网页内容的函数
        r = requests.get(url)        #返回一个响应
        return r.text                #响应的内容
    
    def parseHTML(html):             #定义解析网页内容(抓取目标)的函数
        soup = BeautifulSoup(html, 'html.parser')   #使用html.parser这个python内置解析器解析html这个页面的源代码
    
        body = soup.body                #返回页面body信息
        company_middle = body.find('div', attrs={'class': 'middle'})       #返回body里面class为middle的div标签
        company_list_ct = company_middle.find('div', attrs={'class': 'list-ct'}) #返回middle里面class为list-ct的div标签
    
        company_list = []  #将公司数据先设为空列表
        for company_ul in company_list_ct.find_all('ul', attrs={'class': 'company-list'}):   # 在list-ct里面搜索class为company-list的ul标签
            for company_li in company_ul.find_all('li'):  #在ul里面搜索li标签
                company_url = company_li.a['href'] #公司url就是li里面标签为a,属性为href的值
                company_info = company_li.get_text()#公司名字用这个方法来获取
                company_list.append([company_info, company_url]) #把公司名称和网址添加到那个空列表里面
        return company_list #然后返回出来
    
    def writeCSV(file_name,data_list):          #定义一个scv文件的函数,两个参数,一个是文件名字,一个文件内容
        with codecs.open(file_name, 'w') as f:  #打开一个文件
            writer = csv.writer(f)              #把空文件转为csv文件?
            for data in data_list:          #循环data_list里面的每一条数据
                writer.writerow(data)       #把data_list里面的数据写进csv文件
    
    URL = 'http://www.cninfo.com.cn/cninfo-    new/information/companylist'        #设变量     
    html = getHTML(URL)                  #调取函数    
    data_list = parseHTML(html)          #调取函数 
    writeCSV('test.csv', data_list)      #调取函数 
    

    运行结果为在当前代码文件所在的文件夹生成一个test.csv文件,内容不完整截图如下:
    这里写图片描述

    原文地址:https://zhuanlan.zhihu.com/p/21452812

  • 相关阅读:
    发光二极管
    续流二极管作用及工作原理
    python backtrace注意事项
    docker tips
    direct stdin and stdout
    python skill
    mysql comments
    python dict
    python list and tuple
    Python library
  • 原文地址:https://www.cnblogs.com/fanren224/p/8457236.html
Copyright © 2011-2022 走看看