V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Skyline57  ›  全部回复第 1 页 / 共 1 页
回复总数  8
2020-11-26 06:20:16 +08:00
回复了 gdw1986 创建的主题 Python 估计面试没通过,唉
不能用内置函数吗?
itertools.permutations
2020-06-02 10:05:32 +08:00
回复了 kenanremix 创建的主题 Python 需要 Python 朋友,
hahaha,不就是怕人家数据吗
2020-05-25 17:19:43 +08:00
回复了 MrhuangSTR 创建的主题 Python 各位大佬有什么好的办法解析网页中不规整的表格吗
@MrhuangSTR 我还遇到过一个网页里两三种编码的,真是吐了
2020-05-19 18:36:36 +08:00
回复了 MrhuangSTR 创建的主题 Python 各位大佬有什么好的办法解析网页中不规整的表格吗
@MrhuangSTR 同病相怜啊楼主,我最近也是在搞这些 ZF 的数据,不过我好像解决了,找到了一种通用的方式
我用的 xpath ( xpath 还是挺好使的),把键和值分开来获取,最后再 zip 到一起
原理是:td 位置为奇数则是键,为偶数则是值
(键为土地编号、面积等,值为据图数值)
获取键的表达式:"//table//table//td[position() mod 2 = 1]"
获取值的表达式:"//table//table//td[position() mod 2 = 0]"

但是,提取之后会发现有的键是没有对应值的(比如“主要用途”那栏的值是空的)
这时就要把没有对应值的键单独提出来
观察几个网站发现没有对应值的键的相似之处为:都有 colspan="3"或者 colspan="6"的属性

所以
提取的 xpath 表达式为:'//table//table//td[position() mod 2 = 1][@colspan="3" or @colspan="6"]'

最后把没有对应值的键都从所有键中剔除或者设为空,其他键值对一一对应即可

.......
.......

最后发现出了点小问题

呃呃呃,:面积"那栏键值是竖着的,不是向其他的那样横着的,也就是上述的最终键值对被污染了
但是对"面积"这对键值单独处理下,应该问题不大,思路是用 xpath 获取到 text()为"面积"的 td 节点,再通过这个节点的父级 tr 的下一位置 tr 下的 td 获取到面积的数值,再从键列表中删除"面积",值列表中删除面积的值

最后终于大功告成
@IGJacklove 绕过对方网站反爬手段就算违法,这得看对方发没发现,追不追究。当时用 selenium 那些模仿人浏览网站的行为好像不违法
2020-05-19 17:34:20 +08:00
回复了 123abcdf11345 创建的主题 Python Python 如何获取网络状态并断开网络连接(有线)
机械手的牛逼
2020-05-19 17:18:20 +08:00
回复了 lizhisty 创建的主题 Python 现在 Python web 好找工作吗
Python Web 确实不适合大项目,并发太艹了
看看系统占用?
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   991 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 15ms · UTC 20:18 · PVG 04:18 · LAX 12:18 · JFK 15:18
Developed with CodeLauncher
♥ Do have faith in what you're doing.