V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  freakxx  ›  全部回复第 16 页 / 共 24 页
回复总数  474
1 ... 8  9  10  11  12  13  14  15  16  17 ... 24  
2020-02-20 21:23:19 +08:00
回复了 MrhuangSTR 创建的主题 Python 各位大佬有什么好的办法解析网页中不规整的表格吗
但这类垂直爬取 有一个好处

你可以自己先拿几个 做个处理就干净很多。
比如你判断 “面积” 为 label 的时候,通过对比,知道一般他是在下一个 tr 里面,你写 parse 的时候,就把 2 个 tr 合起来,
直接默认拿 tr_1.td_1: tr_2.td_1, tr_2: td_2
2020-02-20 21:19:22 +08:00
回复了 MrhuangSTR 创建的主题 Python 各位大佬有什么好的办法解析网页中不规整的表格吗
应该是没有通解办法,

用 table 做的时候,他们都是直接怼进去 td 里面。

有个办法你可以尝试下, 你先做一个判断是不是标题的函数, 然后扔进去解解看。
比如最后带 ":" 判断为 label。

但实话说,我觉得这个很难洗干净,至少不是一下子能洗干净。
2020-02-17 11:42:37 +08:00
回复了 dazhangpan 创建的主题 程序员 问一道阿里的面试题如何求解
套路大概是这样, 先构建结果集,然后在结果集里面去构建。
[
[0, 1, 2, 3],
[4, 5, 6, 7],
[8, 9, x, x],
[x, x, x, x],
]

抽象看成 rand(x) --> rand(y)

2 - 4 - 16


rand(3) --> rand(10)
3 - 9 - 81
去掉[9][9]那么概率是一样的。
2020-02-17 10:17:06 +08:00
回复了 secsilm 创建的主题 Python 像这种多新闻来源的爬虫,是每种来源都做一套爬虫?
不是一套,

一般是先自己搭个框架,
像这种,可以分别写 爬取机制 + 清洗机制(parse ),然后做入库。



像 v 站一个老哥的,pyspider 用来做这玩意就还不错。
2020-02-12 18:03:10 +08:00
回复了 Windowsxpplayer 创建的主题 程序员 请教抽奖算法 奖品是 1-100 元整数
看需求,
比如总金额固定,最简单的就是你事先生成 数组,你自己按比例配进去;

还有一种比较简单的,就是你划定好区间,随机生成一个数,然后用二分插入的算法做。
x = [1, 100, 300, 400 ... 9990, 10000]
y = [1, 2, 3 ... 100]

index = bisect_search(x)
y[index]
2020-02-09 15:33:43 +08:00
回复了 black11black 创建的主题 Python Python 有办法限制字典不能添加新键吗 ?
不过看了你发的这几个贴。。。实际上搞个 tuplename 就算了,
2020-02-09 15:30:04 +08:00
回复了 black11black 创建的主题 Python Python 有办法限制字典不能添加新键吗 ?
class FrozenDict(dict):
def __setitem__(self, key, value):
raise TypeError("'FrozenDict' object does not support item assignment")


frozen_dict = FrozenDict


你要的是这样?
2020-02-08 14:08:33 +08:00
回复了 black11black 创建的主题 Python Python 有办法限制字典不能添加新键吗 ?
https://github.com/slezica/python-frozendict

也有这样的库,可以参考下实现
2020-02-08 14:07:29 +08:00
回复了 black11black 创建的主题 Python Python 有办法限制字典不能添加新键吗 ?
可以考虑写个

继承 dict, 复写 __setitem__
2020-02-04 00:26:01 +08:00
回复了 firhome 创建的主题 程序员 有后端同学给我讲一下判断是否登录吗?
| 但是我的疑问来了。那么这个 key 是不是任何人拿到了都可以通过验证?服务端提前生成了 key,所以没办法在过期日期前让 key 失效? 所以失效的办法只有更改服务端的加密算法,让所有的 key 都失效而达到目的?


鉴权的值只要拿到都是可以通过验证的。

需要在过期前让其失效,那么办法就是像 @justfindu 说的 做多一个 blacklist
但一般不要存 token 进去,而是解开后像校验日期一样,校验某个 unique key,

这里是为了防止某些人恶作剧,生成 N 个 token,然后可以塞爆。


----

一般也不改加密算法,你说的倒有可能是改 seed。
但一般不这么做。
2020-02-04 00:14:42 +08:00
回复了 firhome 创建的主题 程序员 有后端同学给我讲一下判断是否登录吗?
其实没必要纠结形式。

鉴权 (authentication) 的本质是知道请求是谁,
这个过程大概就是 request - authentication - response。

你 request 方式是没关系的,你从 header 进来,从 cookie 进来,从 params 进来,从 body 进来,目的只有一个,就是让服务器可以知道你是谁。

比如你说
| 1.登录后,账号,密码(加密)放 cookie 里 [不安全不推荐]
你可以假设服务器有个函数为: auth_with_username_and_password(username, password) -> bool
只要为 true,那么证明账号密码都是对的,只要这一步成功,那么就把这个鉴权信息放在上下文 (context) 那么这个过程就可以继续传递下去

|2.登录后生成一个 sessionId 放到客户端 cookie 里。只放 session 的话 不保险(资源和重启服务),所以要 session + Redis

这个我感觉有些人云亦云了,
你可以当成是解耦的过程,
auth_with_username_and_password(username, password) -> str

这个 str 可以有 2 种返回方式,
一种直接通过 response 返回,你拿到 str 之后前端存到哪也是没关系的,反正用的时候带上;
一种是通过 set-cookie 的方式,直接把这个写进 cookie 里;

那么 auth 的方式就是通过
[auth_with_username_and_password, auth_with_session_id]

auth_with_session_id(session_id) -> bool

auth_with_session_id 这里怎么存都是没关系的,
你存数据库,存 redis,存本地文件都可以,只要拿得到并且有效就可以。

这个东西好处是,避免明码泄露账号密码,但 session 漏出去也是一样的。


| 3.jwt ???
一般说 有状态,无状态,这里你可以理解 jwt 无状态,是指
jwt 已经包含了主要的鉴权信息
jwt 的 j 也表明了是一个 json 结构,再做一层 decode 操作

这里跟 2 比的好处是,无论你 session 放哪,你去到服务器有一个查询的操作,
你用 jwt 的话,那么只需要解密+校验有效期就可以了。

那么 auth 的方式就是通过

auth_with_username_and_password(username, password) -> str

auth 方式可为
[auth_with_username_and_password, auth_with_token]

auth_with_token(token) -> bool

====

所以你可以把这个过程看成解耦 + 安全 + 优解。

至于用 redis 和 用其他去做,都是优化
你就算记在本子里,每次用户登录,你从本子找,然后发现对应上了,就通过,那么是一样的,无非用户需要等你慢慢找。
所以怎么判断,其实就是 f(x) 有没解的过程。
2020-02-03 13:46:25 +08:00
回复了 victoriazy 创建的主题 程序员 跨专业自学 Python 一年,无项目经验求职怎么办呢?
@victoriazy

哈哈哈,这个确实需要展开

抄类型。比如 flask 的时候,那时候很火抄了做个问答,类似知乎的,你也去抄,但我不知现在流行抄啥。


然后抄的过程,有几个学习点

- 看大家是怎么搬砖的,比如用到了什么框架,用到了什么第三方库,用到了什么特性;
- 看搬砖流程一般怎么搬,比如 git 怎么协作,比如前后端怎么配合,比如 bug 怎么调试
- 然后还有一个就是 web 入门比如简单一些点,要求你 crud 怎么操作,你要去的公司对你的要求怎样


然后怎么说呢,进这个地方做好心理准备,用心搬砖掏粪,没那么好搞,也不可能一上来那么多高新尖能让你搞。
还是要继续努力。
2020-02-03 11:52:47 +08:00
回复了 victoriazy 创建的主题 程序员 跨专业自学 Python 一年,无项目经验求职怎么办呢?
@victoriazy

抄两个项目看看吧。
当时我玩的时候,比较多是抄个 todo 和做个 web 之类

工作还是用 drf 省心,毕竟是搬砖。
而且转行做开发怎么说呢,舍得手脏吧,掏粪可以优雅,都没办法不沾。
2020-02-03 11:49:32 +08:00
回复了 leonme 创建的主题 宽带症候群 都来说说你们的宽带费用吧?
@SbloodyS

哈哈哈,我之前荔湾现在天河,打电话和看网页,都是 1900+好像。

我回去再去问问,谢啦
2020-02-03 11:00:18 +08:00
回复了 victoriazy 创建的主题 程序员 跨专业自学 Python 一年,无项目经验求职怎么办呢?
| OS、计算机网络和数据结构与算法基本学的差不多了,题也刷过,可以说万事俱备
此话存疑

如果走 python web 的话,可以看下 django + django rest framework( https://www.django-rest-framework.org/)

drf + pg(mysql)
或者
flask + mongo
flask + mysql

这几种还是有机会做做
2020-02-03 10:53:50 +08:00
回复了 leonme 创建的主题 宽带症候群 都来说说你们的宽带费用吧?
@SbloodyS

是啊,我这边也是小区,不过我看营业厅都是 2k 左右
2020-02-02 11:51:53 +08:00
回复了 leonme 创建的主题 宽带症候群 都来说说你们的宽带费用吧?
@SbloodyS

广州电信 100m 这么便宜吗。。。请问哪里可以办
2020-01-18 13:57:13 +08:00
回复了 daguaochengtang 创建的主题 问与答 放下屠刀,立地成佛?
> 唐僧成佛历经了九九八十一难,

因慈悲故,不住涅槃

-----
> 为什么恶人放下屠刀就能立地成佛

因智慧故,不住轮回
1 ... 8  9  10  11  12  13  14  15  16  17 ... 24  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3269 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 28ms · UTC 11:42 · PVG 19:42 · LAX 04:42 · JFK 07:42
Developed with CodeLauncher
♥ Do have faith in what you're doing.