鱼C论坛

 找回密码
 立即注册
查看: 2538|回复: 0

[学习笔记] 用python爬取浙江省统计局上的表格

[复制链接]
发表于 2018-2-24 17:47:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. import requests
  2. import bs4
  3. import re
  4. import openpyxl
  5. def open_url(url):
  6.     '''
  7.     获取网页请求不解释了
  8.     '''
  9.     headers = {'user-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'}
  10.     html = requests.get(url,headers = headers)
  11.     html.encoding = 'utf-8'
  12.     #print(html.text)
  13.     return html
  14. def save_to_excel(data,name):
  15.     '''
  16.     将数据保存为EXCEL文件,传入的数据必须是列表的形式,其实是列表里面包含列表,传入是按行传的
  17.     '''
  18.     wb = openpyxl.Workbook()
  19.     ws = wb.active
  20.     for each in data:
  21.         ws.append(each)
  22.     wb.save(name)
  23. def find_data(html):
  24.     soup = bs4.BeautifulSoup(html.text,'html.parser')#用bs4模块获取网页结构
  25.     data = soup.find_all('tr',style="height: 14.25pt")#抓取到需要的区域
  26.     #print(data.text)
  27.     data_list = []#用于保存数据
  28.     for i in range(len(data)):
  29.         each_ = data[i].text.strip().split('\n\n\n')#提取数据去空格,进行切片等
  30.         data_list.append(each_)#添加到列表
  31.     return data_list
  32. def main():
  33.     url = 'http://tjj.zj.gov.cn/tjsj/ydsj/gy/2017/201702/t20170224_192095.html'
  34.     html = open_url(url)
  35.     data = find_data(html)
  36.     save_to_excel(data,'浙江工业.xlsx')

  37. if __name__=='__main__':
  38.     main()
复制代码
QQ截图20180224174523.png
QQ截图20180224174544.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-14 12:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表