Skip to content

laijinhang/multiple_process_reptile_project_for_linux_c

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 

Repository files navigation

编译:gcc -o main main.c

执行:./main

设计

1. 配置模块

  • 程序结束
    • 请求n个url任务后结束
    • 下载n个内容后结束
    • 不主动结束
  • 起始url
  • 图片保存路径

2. 控制器(主进程)

  • 创建请求器、解析器、下载器
  • 监听服务是否需要结束
  • 让子进程退出

3. 请求器

4. 解析器

5. 下载器

6. 工作原理

  • 主进程分别创建这三种子进程,请求器从管道pipe里面读取url,然后去请求对应的页面内容,解析器把页面内容解析之后,先检查一下有没有请求过,有的话就直接过滤掉,没有的话,则把下一个要请求的url放入到管道pipe中,图片url放入到管道pipe中,下载器从pipe里面读取。。。在满足退出的时候,主进程通知这些进程退出。

About

使用linux c编写的爬虫练习项目

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages