在线表格已成为趋势,传统的表格导入导出已经不能满足现在企业的发展。

必须支持在线表格的导入,只需要输入在线表格的链接,就能将数据读取出来。

而且相比相传表格,能够将图片信息一块读取。在线表格中的图片也是图片链接形式。

附上源码,这里我只打印了每一行数据的数组形式,大家根据各自需求复用代码。

import requests,random
from bs4 import BeautifulSoup #获得静态的界面
def get_static_html(site_url):
print('开始加载', site_url, '静态页面')
headers_list = [
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.79 Safari/537.36',
'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0 ',
'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2',
'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'
]
headers = {
'user-agent': headers_list[random.randint(0,len(headers_list))-1],
'Connection': 'keep - alive'
}
try:
resp = requests.get(site_url, headers=headers)
except Exception as inst:
print(inst)
requests.packages.urllib3.disable_warnings()
resp = requests.get(site_url, headers=headers,verify=False)
soup = BeautifulSoup(resp.text, 'html.parser')
return soup if __name__ == '__main__':
  #谷歌在线表格链接,需要保证你的链接所有人可见
url = 'https://docs.google.com/spreadsheets/d/1q8_tv8Hu0cReHPsUkvvwWa4G8QmsfqLWkIo3s1WJuHk/edit#gid=0'
  #开始一系列的处理
soup = get_static_html(url)
tab_tr_arr = soup.find_all('tr')
for tab_tr in tab_tr_arr:
content = []
s0_tr_th_arr = tab_tr.select('.s0')
s1_tr_th_arr = tab_tr.select('.s1')
if len(s0_tr_th_arr) != 0:
for tr_th in s0_tr_th_arr:
content.append(tr_th.text)
if len(s1_tr_th_arr) != 0:
for tr_th in s1_tr_th_arr:
img_src = tr_th.select_one('img').attrs['src']
content.append(img_src.split('=')[0])
    #输出每行的数据
if len(content) != 0:
print(content)

最新文章

  1. BZOJ 2820: YY的GCD [莫比乌斯反演]【学习笔记】
  2. ASP.NET获取百度地图提供的API接口里面的JSON
  3. opencart在空间中安装出错,连接不上mysql
  4. Tsql查询执行顺序(二)
  5. MOOCULUS微积分-2: 数列与级数学习笔记 7. Taylor series
  6. effective OC2.0 52阅读笔记(三 接口与API设计)
  7. (LightOJ 1149) Factors and Multiples
  8. Python 数据处理扩展包: pandas 模块的DataFrame介绍(创建和基本操作)
  9. 【linux】内核编译
  10. 使用Grafana 展示Docker容器的监控图表并设置邮件报警规则
  11. m个苹果放入n个盘子问题
  12. XML的序列化(Serializer)
  13. SSM-SpringMVC-12:SpringMVC中BeanNameViewResolver这种视图解析器
  14. Android 9.0适配遇到的问题1
  15. $Miller Rabin$总结
  16. celery 原理理解
  17. ASP.NET Web Pages:全局页面
  18. WhyGL:一套学习OpenGL的框架,及翻写Nehe的OpenGL教程
  19. PHP wamp server问题
  20. libcurl使用心得-包括下载文件不存在处理相关(转)

热门文章

  1. redis: 其他数据类型(八)
  2. ip的运用
  3. fseek 在以字符串模式打开的文件中工作不正常 [MSDN]
  4. centos 服务器上部署 xxl-job 通过 feign 访问 eureka 上注册的 service timeout
  5. 设置linux中Tab键的宽度(可永久设置)
  6. .net 使用TCP模拟UDP广播通信加强广播通信的稳定性
  7. CYQ.Data 轻量数据层之路 使用篇-MProc 存储过程与SQL 视频[最后一集] H (二十八)
  8. Bogon
  9. 使用@vue/cli搭建vue项目开发环境
  10. 通过express框架为前端提供api(数据),妈妈再也不用担心后端不给我数据了~