初学者对于 Python 爬虫的小疑惑

10 小时 36 分钟前
 Henrysun

最近在学习 python 爬虫:使用 pyrequests 对一个文档中的 url 逐行进行前端数据爬取,再通过 Beautifulisoup 简单处理后输出到本地 txt 中。

但是在执行过程中发现平均 3s-5s 才能处理完成一个 url,是因为我的脚本流程问题,还是其他原因?希望有大佬可以解答一下,非常感谢

432 次点击
所在节点    Python
10 条回复
NessajCN
10 小时 32 分钟前
爬虫这种典型的重 io 任务当然应该开多 threading 或协程一起跑
你是这么爬的吗
Henrysun
10 小时 27 分钟前
@NessajCN 我没有使用 threading 或协程,所以其实是因为我的脚本在进行大量重复的 io 任务,才拖慢了脚本的运行速度吗
Outclass
10 小时 27 分钟前
应该访问 URL 需要时间吧,尝试多线程处理
CassianAndor
10 小时 24 分钟前
多线程 req 不会被风控吗...
me007
10 小时 21 分钟前
初学就这样挺好的。 你如果加快那么基本出发风控,初学解决不了,直接任何信息都获取不到
Emi1
10 小时 15 分钟前
“文档中的 url ” 是一个域名下面的吗,那就别多线程,最好加 sleep
coderluan
10 小时 14 分钟前
你加个时间戳啊,哪个步骤慢哪个步骤有问题。
NoOneNoBody
10 小时 12 分钟前
正常的
“再通过 Beautifulisoup 简单处理后输出到本地 txt 中”
这部份不到 0.5 秒,就是说 2.5s 完成网络请求算快的了

不急着需要的话,单线程也没所谓,我很多时候为了防反爬,还要 sleep 几秒呢
Henrysun
10 小时 8 分钟前
@NoOneNoBody 明白了 感谢,其实也不着急需要,就是因为不清楚大家的情况,所以以为是我这边流程有问题,再次感谢

@Emi1 是一个域名下的,明白了,感谢

@me007 明白了,是我有点盲目求快了,感谢
yasea
9 小时 8 分钟前
轻量的推荐 Playwright + Asyncio

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1099618

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX