panghuahua2017 2022-04-15 13:39 采纳率: 57.1%
浏览 146
已结题

Python 爬虫如何实现多进程?多线程?多任务?

我写了一个爬虫,
假设我需要连续爬10个页面,
并且每次爬页面的时候,
在各个环节我都print了一些信息,
例如:
1.目标网址httpabc
2.找到视频链接
3.开始下载…
4.下载完成
能否同时爬这10个页面?
另外有几个疑问:
1.同时爬的话,print信息会混在一起?
2.能否在爬每个目标网页的时候,单独打开一个py文件,这样print信息就是独立的了?
3.如果直接手动打开多个py去运行的话,那目标网址会重复爬(因为我目标网址是单独一个txt文本,py文件会按顺序爬),该如何解决?

  • 写回答

11条回答 默认 最新

  • 不会长胖的斜杠 后端领域新星创作者 2022-04-15 13:53
    关注
    获得0.80元问题酬金
    1. 会,但是可以通过锁机制来确保信息不会混乱
    2. 可以,可以理解为写好的py是脚本文件,写好之后通过cmd来运行,比如说 python spider.py ,多开几个cmd,就是独立打印
    3. 不同页面的话,比如说txt文本有10页,开10个py文件,第一个在运行的时候,使用python spider.py index=0, py文件里面接收index的值,加入到url里面,第二个就是index = 1,以此类推
      如果是同一页面,直接10个线程爬取,将context分成10段分配给10个线程就不要开10个py了~
    评论

报告相同问题?

问题事件

  • 系统已结题 4月23日
  • 修改了问题 4月15日
  • 创建了问题 4月15日

悬赏问题

  • ¥15 请问Ubuntu要怎么安装chrome呀?
  • ¥15 视频编码 十六进制问题
  • ¥15 Xsheii7我安装这个文件的时候跳出来另一个文件已锁定文件的无一部分进程无法访问。这个该怎么解决
  • ¥15 unity terrain打包后地形错位,跟建筑不在同一个位置,怎么办
  • ¥15 FileNotFoundError 解决方案
  • ¥15 uniapp实现如下图的图表功能
  • ¥15 u-subsection如何修改相邻两个节点样式
  • ¥30 vs2010开发 WFP(windows filtering platform)
  • ¥15 服务端控制goose报文控制块的发布问题
  • ¥15 学习指导与未来导向啊