鱼C论坛

 找回密码
 立即注册
查看: 2636|回复: 13

网页中的二维表转成一维表

[复制链接]
发表于 2021-10-13 16:15:44 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 Vastsea 于 2021-10-13 16:20 编辑

网页中的二维表如何用Python爬成一维表。网页文件见Desktop.zip

  1. import requests
  2. from bs4 import BeautifulSoup
  3. url = "http://192.168.70.24/web/guest/cn/websys/status/getUnificationCounter.cgi"
  4. req = requests.get(url)
  5. html = req.text
  6. bs = BeautifulSoup(html,"html.parser")
复制代码


后面不知道怎么写好了。
2021-10-13_15-05-11.jpg
2021-10-13_16-10-05.jpg

Desktop.zip

60.89 KB, 下载次数: 5

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-10-13 17:44:38 | 显示全部楼层

  1. import requests
  2. from lxml import etree


  3. def main():
  4.     url = 'http://192.168.70.24/web/guest/cn/websys/status/getUnificationCounter.cgi'
  5.     r = requests.get(url)
  6.     html = etree.HTML(r.text)
  7.     result = html.xpath('//tbody//tbody/tr[3]//text()')
  8.     print(result)


  9. if __name__ == '__main__':
  10.     main()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-14 14:48:50 | 显示全部楼层
为啥print(result)只返回“[]”
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-14 15:17:44 | 显示全部楼层
本帖最后由 suchocolate 于 2021-10-14 15:21 编辑
Vastsea 发表于 2021-10-14 14:48
为啥print(result)只返回“[]”


由于无法访问你提供的内网的网页,我只是尽力根据你提供的html来猜猜xpath路径。
你可以根据实际情况调整xpath,调整方法:
1)浏览器打开网页,右键审查元素。
2)再右键你想看的元素,弹出菜单,复制,选中xpath
3)把xpath添加到上面html.xpath()里

以下是加载你提供的html的搜索出的结果:
屏幕截图 2021-10-14 152058.jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-15 10:59:44 | 显示全部楼层
复制的Xpath 如下:/html/body/table/tbody/tr/td[3]/table[3]/tbody/tr/td[2]/table[5]/tbody

结果还是“[]”
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-15 11:12:24 | 显示全部楼层
Vastsea 发表于 2021-10-15 10:59
复制的Xpath 如下:/html/body/table/tbody/tr/td[3]/table[3]/tbody/tr/td[2]/table[5]/tbody

结果还是 ...

把你的代码贴一下。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-15 12:15:29 | 显示全部楼层
suchocolate 发表于 2021-10-15 11:12
把你的代码贴一下。

  1. import requests
  2. from lxml import etree


  3. def main():
  4.     url = 'http://192.168.70.24/web/guest/cn/websys/status/getUnificationCounter.cgi'
  5.     r = requests.get(url)
  6.     html = etree.HTML(r.text)
  7.     result = html.xpath('/html/body/table/tbody/tr/td[3]/table[3]/tbody/tr/td[2]/table[5]/tbody')
  8.     print(result)


  9. if __name__ == '__main__':
  10.     main()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-15 15:56:09 | 显示全部楼层
  1. import requests
  2. from lxml import etree


  3. def main():
  4.     url = 'http://192.168.70.24/web/guest/cn/websys/status/getUnificationCounter.cgi'
  5.     r = requests.get(url)
  6.     with open('r.txt', 'w', encoding='utf-8') as f:
  7.         f.write(r.text)


  8. if __name__ == '__main__':
  9.     main()
复制代码

生成的r.txt发我下。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-15 16:12:34 | 显示全部楼层
文件存到哪儿了?
搜索都没搜到。

2021-10-15_16-11-39.jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-21 09:11:25 | 显示全部楼层
本帖最后由 suchocolate 于 2021-10-21 09:15 编辑
Vastsea 发表于 2021-10-15 16:12
文件存到哪儿了?
搜索都没搜到。


ipython.exe所在路径。
或者自定义路径:with open('d:/r.text', 'w') as f:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-21 11:02:12 | 显示全部楼层
生成文件,见附件。谢谢!

r.txt

30.79 KB, 下载次数: 4

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-25 13:46:57 | 显示全部楼层
Vastsea 发表于 2021-10-21 11:02
生成文件,见附件。谢谢!

  1. import requests
  2. from lxml import etree


  3. def main():
  4.     url = 'http://192.168.70.24/web/guest/cn/websys/status/getUnificationCounter.cgi'
  5.     r = requests.get(url)
  6.     html = etree.HTML(r.text)
  7.     result = html.xpath('/html/body/table/tr/td[3]/table[3]//text()')
  8.     pt = []
  9.     for i in result:
  10.         if ' ' not in i:
  11.             pt.append(i)
  12.     print(pt)


  13. if __name__ == '__main__':
  14.     main()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-25 17:37:24 | 显示全部楼层
行列号不是顺着下来的
行是 3、5、7、9
列是5、7、8、10、11、13、14、16
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-26 09:20:52 | 显示全部楼层
结果是这样的,不是想要的那样。
2021-10-26_9-19-56.jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-17 01:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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