鱼C论坛

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

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

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

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

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

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

网页中的二维表如何用Python爬成一维表。网页文件见Desktop.zip
import requests
from bs4 import BeautifulSoup
url = "http://192.168.70.24/web/guest/cn/websys/status/getUnificationCounter.cgi"
req = requests.get(url)
html = req.text
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

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-10-13 17:44:38 | 显示全部楼层
import requests
from lxml import etree


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


if __name__ == '__main__':
    main()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-14 14:48:50 | 显示全部楼层
为啥print(result)只返回“[]”
想知道小甲鱼最近在做啥?请访问 -> 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
想知道小甲鱼最近在做啥?请访问 -> 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

结果还是“[]”
想知道小甲鱼最近在做啥?请访问 -> 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

结果还是 ...

把你的代码贴一下。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

import requests
from lxml import etree


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


if __name__ == '__main__':
    main()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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


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


if __name__ == '__main__':
    main()
生成的r.txt发我下。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

2021-10-15_16-11-39.jpg
想知道小甲鱼最近在做啥?请访问 -> 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:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

r.txt

30.79 KB, 下载次数: 4

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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


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


if __name__ == '__main__':
    main()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-25 17:37:24 | 显示全部楼层
行列号不是顺着下来的
行是 3、5、7、9
列是5、7、8、10、11、13、14、16
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-26 09:20:52 | 显示全部楼层
结果是这样的,不是想要的那样。
2021-10-26_9-19-56.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-6 16:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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