V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
Colorful
V2EX  ›  Python

关于爬虫几个问题请教

  •  
  •   Colorful · 2020-07-21 16:45:48 +08:00 · 2427 次点击
    这是一个创建于 1346 天前的主题,其中的信息可能已经有所发展或是发生改变。

    1 、win10 里面如何写爬虫的定时任务?没想过定时任务这块不太懂 2 、每次爬取出来的数据,有重复的,用的是 mysql 数据库,如何更好的解决这个问题? 暂时想到的两个方法,一个是定时清除重复数据,另外一种是显示最新的那条数据

    24 条回复    2020-07-22 22:52:36 +08:00
    ShuoHui
        1
    ShuoHui  
       2020-07-21 16:54:18 +08:00
    1 定时任务的话,你看看 APScheduler 能不能满足你的需求
    2 重复的话,数据量不大的话存入前可以确认下吧(本菜鸟的想法
    ohao
        2
    ohao  
       2020-07-21 16:57:35 +08:00
    。。。。。。。。
    醒醒。。。。。。。
    你这逻辑和对应的关系都没搞清楚写什么爬虫。。。。。

    定时任务和写爬虫不搭嘎的好吧
    “定时” 任务 = 定时执行任务 , 任务=写好的爬虫脚本
    合起来理解为
    每分钟、小时,天,周 或其他时间区间,运行写好的脚本 = 脚本=bat,bash,php,java,perl 等


    重复的 replace into 也可以
    更好的使用临时表存储,然后做数据清洗后入正常表 (提前去重)
    ctro15547
        3
    ctro15547  
       2020-07-21 17:01:28 +08:00
    1.开机启动,然后脚本 if time==9 点 ,开工,if time==18 点,收工
    2.看自己需求
    BBrother
        4
    BBrother  
       2020-07-21 17:20:13 +08:00
    windows 自带计划任务
    Colorful
        5
    Colorful  
    OP
       2020-07-21 17:22:18 +08:00
    @ShuoHui APScheduler 我刚刚看了,那个暂时针对 python 的,但是爬虫的时候,是在命令行里面执行的,这块我得好好看看,看能不能满足需求。
    因为爬取的网站都是一样的,数据肯定会有重复的。只是不知道怎么样更方便的去解决
    Colorful
        6
    Colorful  
    OP
       2020-07-21 17:23:15 +08:00
    @ohao 有点懂了,那可能我的理解不太对吧。定时任务就是,定时执行什么脚本。然后脚本里面去写我的爬虫任务。这样才算是我的需求了。
    xiri
        7
    xiri  
       2020-07-21 17:34:41 +08:00
    windows 有计划任务,跟 linux 下的 crontab 相对
    至于重复数据的问题,你都玩爬虫了,去重不是基本操作吗?每次写入数据之前数据是否已经存在,数据量比较大的话可以试试 redis 的布隆过滤器
    xiri
        8
    xiri  
       2020-07-21 17:36:11 +08:00
    @xiri 每次写入数据之前判断数据是否已经存在

    另外,如果是你爬取一个网站的很多页面的话,每次把爬过了的链接存起来,后面不再爬这些链接就行了
    Colorful
        9
    Colorful  
    OP
       2020-07-21 17:45:39 +08:00
    @xiri 有点理解了。懂了,太感谢了
    sockball07
        10
    sockball07  
       2020-07-21 17:58:44 +08:00
    关键词 schtasks
    crella
        11
    crella  
       2020-07-21 18:37:42 +08:00 via Android
    我一开始还是想问这些问题,后来还是自己多查查已有的方法来解决的。
    也就多逼自己自行解决问题。
    Colorful
        12
    Colorful  
    OP
       2020-07-21 18:52:04 +08:00
    @crella 你是怎么解决这些问题的啊?
    tikazyq
        13
    tikazyq  
       2020-07-21 19:42:12 +08:00 via iPhone
    关键词,爬虫管理平台,crawlab 了解一下?加我 wx 拉群咨询,tikazyq1
    musi
        14
    musi  
       2020-07-21 19:46:53 +08:00
    @tikazyq 借楼问一下,我想把我司的爬虫迁到 crawlab,有技术指导不
    tikazyq
        15
    tikazyq  
       2020-07-21 20:00:21 +08:00 via iPhone
    @musi 可以的,加我 wx 咨询吧
    jsnjfz
        16
    jsnjfz  
       2020-07-21 20:08:34 +08:00
    windows 自带计划任务启动 python 爬虫脚本
    jeeyong
        17
    jeeyong  
       2020-07-21 20:09:41 +08:00
    计划任务?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
    jugelizi
        18
    jugelizi  
       2020-07-21 21:27:31 +08:00 via iPhone
    mysql 里可以设置主键或唯一索引 replace into 替换或插入 也可以借助 redis
    定时可以设置锁 防止多个运行
    Colorful
        19
    Colorful  
    OP
       2020-07-22 11:14:41 +08:00
    @jsnjfz 只知道有个计划任务,但是启动 python 脚本就不太会了
    Colorful
        20
    Colorful  
    OP
       2020-07-22 11:15:11 +08:00
    @jugelizi 原来 mysql 还有这个功能,太感谢了..
    holajamc
        21
    holajamc  
       2020-07-22 11:53:30 +08:00
    数据量不大的情况下可以用 UNIQUE INDEX 来避免重复,数据量比较大可以采用 redis BloomFilter
    Mr0Han
        22
    Mr0Han  
       2020-07-22 13:33:49 +08:00
    定时任务 schedule 模块够用,去重。。。都用上 mysql 了。。。。索引去重他不香吗,劝退。。。
    Hider5
        23
    Hider5  
       2020-07-22 15:51:19 +08:00
    代码丢服务器,cron 创建定时任务就好了
    Colorful
        24
    Colorful  
    OP
       2020-07-22 22:52:36 +08:00
    @Hider5 懂了,感谢感谢..没想到服务器这块,只想到了本地
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1247 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 84ms · UTC 17:57 · PVG 01:57 · LAX 10:57 · JFK 13:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.