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

python3 爬取深圳主板公司名称,公司网址的更多相关文章

  1. Python3爬取人人网(校内网)个人照片及朋友照片,并一键下载到本地~~~附源代码

    题记: 11月14日早晨8点,人人网发布公告,宣布人人公司将人人网社交平台业务相关资产以2000万美元的现金加4000万美元的股票对价出售予北京多牛传媒,自此,人人公司将专注于境内的二手车业务和在美国 ...

  2. python3爬取女神图片,破解盗链问题

    title: python3爬取女神图片,破解盗链问题 date: 2018-04-22 08:26:00 tags: [python3,美女,图片抓取,爬虫, 盗链] comments: true ...

  3. python3爬取微博评论并存为xlsx

    python3爬取微博评论并存为xlsx**由于微博电脑端的网页版页面比较复杂,我们可以访问手机端的微博网站,网址为:https://m.weibo.cn/一.访问微博网站,找到热门推荐链接我们打开微 ...

  4. python3爬取网页

    爬虫 python3爬取网页资源方式(1.最简单: import'http://www.baidu.com/'print2.通过request import'http://www.baidu.com' ...

  5. Python3 爬取微信好友基本信息,并进行数据清洗

    Python3 爬取微信好友基本信息,并进行数据清洗 1,登录获取好友基础信息: 好友的获取方法为get_friends,将会返回完整的好友列表. 其中每个好友为一个字典 列表的第一项为本人的账号信息 ...

  6. python3爬取全民K歌

    Python3爬取全民k歌 环境 python3.5 + requests 1.通过歌曲主页链接爬取 首先打开歌曲主页,打开开发者工具(F12). 选择Network,点击播放,会发现有一个请求返回的 ...

  7. Python3爬取猫眼电影信息

    Python3爬取猫眼电影信息 import json import requests from requests.exceptions import RequestException import ...

  8. python3 爬虫爬取深圳公租房轮候库(深圳房网)

    深圳公租房轮候库已经朝着几十万人的规模前进了,这是截至16年10月之前的数据了,贴上来大家体会下 所以17年已更新妥妥的10W+ 今天就拿这个作为爬虫的练手项目 1.环境准备: 操作系统:win10 ...

  9. Python3爬取中文网址

    本以为Python3的中文兼容性无比友好,结果还是会有一点问题的. 解决方案如下,就以爬取我自己的一个网页极简翻译为例 #coding:utf8 import urllib.request impor ...

随机推荐

  1. 7、滑动窗口套路算法框架——Go语言版

    前情提示:Go语言学习者.本文参考https://labuladong.gitee.io/algo,代码自己参考抒写,若有不妥之处,感谢指正 关于golang算法文章,为了便于下载和整理,都已开源放在 ...

  2. 刷完 900 多题后的首次总结:LeetCode 应该怎么刷?

    「负雪明烛」公众号是负雪明烛维护的一个算法题解公众号,致力于帮助大家刷题.找工作.欢迎关注. 大家好,我是负雪明烛.今天跟大家聊一聊「LeetCode应该怎么刷?」这个话题. 我是大二的时候开始接触 ...

  3. uniCloud爬虫获取网页数据

    'use strict'; let request = require('request') let cheerio = require('cheerio'); //爬虫 let iconv = re ...

  4. Reflection 基础知识(二)

    Proxy 定义 Proxy用于修改对象的某些行为,获取值,设置值等 let p = new Proxy(target, handler); target 用Proxy包装的目标对象(可以是任何类型的 ...

  5. Vue.js高效前端开发 • 【Ant Design of Vue框架进阶】

    全部章节 >>>> 文章目录 一.栅格组件 1.栅格组件介绍 2.栅格组件使用 3.实践练习 二.输入组件 1.输入框组件使用 2.选择器组件使用 3.单选框组件使用 4.实践 ...

  6. Java程序设计基础笔记 • 【目录】

    持续更新中- 我的大学笔记>>> 章节 内容 实践练习 Java程序设计基础作业目录(作业笔记) 第1章 Java程序设计基础笔记 • [第1章 初识Java] 第2章 Java程序 ...

  7. .net core中Grpc使用报错:Request protocol 'HTTP/1.1' is not supported.

    显然这个报错是说HTTP/1.1不支持. 首先,我们要知道,Grpc是Google开源的,跨语言的,高性能的远程过程调用框架,它是以HTTP/2作为通信协议的,所以当我启动启用一个服务作为Grpc的服 ...

  8. 初识python: 继承

    继承:可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展. 通过继承创建的新类称为"子类"或"派生类". 被继承的类称为"基 ...

  9. Ant <Delete> 如何只删掉文件夹下所有文件和文件夹

    用 fileset 来过滤要删掉的目录和文件 <project name="ant-project" default="example"> < ...

  10. javascript中new url()属性,轻松解析url地址

    1.首先写一个假的地址(q=URLUtils.searchParams&topic=api)相当于当前的window.location.href const urlParams = new U ...