python解析谷歌在线表格链接,转化为数组形式,图片转化为链接
2024-08-28 05:13:21
在线表格已成为趋势,传统的表格导入导出已经不能满足现在企业的发展。
必须支持在线表格的导入,只需要输入在线表格的链接,就能将数据读取出来。
而且相比相传表格,能够将图片信息一块读取。在线表格中的图片也是图片链接形式。
附上源码,这里我只打印了每一行数据的数组形式,大家根据各自需求复用代码。
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)
最新文章
- BZOJ 2820: YY的GCD [莫比乌斯反演]【学习笔记】
- ASP.NET获取百度地图提供的API接口里面的JSON
- opencart在空间中安装出错,连接不上mysql
- Tsql查询执行顺序(二)
- MOOCULUS微积分-2: 数列与级数学习笔记 7. Taylor series
- effective OC2.0 52阅读笔记(三 接口与API设计)
- (LightOJ 1149) Factors and Multiples
- Python 数据处理扩展包: pandas 模块的DataFrame介绍(创建和基本操作)
- 【linux】内核编译
- 使用Grafana 展示Docker容器的监控图表并设置邮件报警规则
- m个苹果放入n个盘子问题
- XML的序列化(Serializer)
- SSM-SpringMVC-12:SpringMVC中BeanNameViewResolver这种视图解析器
- Android 9.0适配遇到的问题1
- $Miller Rabin$总结
- celery 原理理解
- ASP.NET Web Pages:全局页面
- WhyGL:一套学习OpenGL的框架,及翻写Nehe的OpenGL教程
- PHP wamp server问题
- libcurl使用心得-包括下载文件不存在处理相关(转)
热门文章
- redis: 其他数据类型(八)
- ip的运用
- fseek 在以字符串模式打开的文件中工作不正常 [MSDN]
- centos 服务器上部署 xxl-job 通过 feign 访问 eureka 上注册的 service timeout
- 设置linux中Tab键的宽度(可永久设置)
- .net 使用TCP模拟UDP广播通信加强广播通信的稳定性
- CYQ.Data 轻量数据层之路 使用篇-MProc 存储过程与SQL 视频[最后一集] H (二十八)
- Bogon
- 使用@vue/cli搭建vue项目开发环境
- 通过express框架为前端提供api(数据),妈妈再也不用担心后端不给我数据了~