python3 爬取深圳主板公司名称,公司网址

mac2022-06-30  105

需要阅读的文档: Requests:http://cn.python-requests.org/zh_CN/latest/user/quickstart.html BeautifulSoup:https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/说明: 爬虫入口网址:http://www.cninfo.com.cn/cninfo-new/information/companylist 抓取目标:公司代码公司名称、公司公告地址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

转载于:https://www.cnblogs.com/fanren224/p/8457236.html

最新回复(0)