zoukankan      html  css  js  c++  java
  • python网页爬虫开发之三

    1、抓取目录页后用lxml进行页面解析,获取抓取列表
    python3.6 urlparse模块变为urllib.parse
    2、Python中有一个专门生成各类假数据的库:Faker
    3、python类中函数调用要加self
    基于OO方法,指向类自身的实例化,方便方法调用
     
    4、网页编码问题
    解码:decode("gbk")
    编码:encode("utf-8")
     
    5、回调函数
    需要回调函数的场景:
    进程池中任何一个任务一旦处理完了,就立即告知主进程:我好了额,你可以处理我的结果了。主进程则调用一个函数去处理该结果,该函数即回调函数。
    我们可以把耗时间(阻塞)的任务放到进程池中,然后指定回调函数(主进程负责执行),这样主进程在执行回调函数时就省去了I/O的过程,直接拿到的是任务的结果。
    无需回调函数的场景:
    如果在主进程中等待进程池中所有任务都执行完毕后,再统一处理结果。
     
    基于事件驱动模式,场景举例:
    如果我们触发了某个事件,比如点击事件 ,只要给这个点击事件绑定一个或多个处理事件,也就是回调函数 
    就可以在点击事件被触发后(结束后)调用相应的方法来处理点击事件的结果
     
    7、线程池和进程池
    python3后加入concurrent.futures模块,ThreadPoolExecutor 和 ProcessPoolExecutor
     
    8、__init__()和__call__()函数
    __init__()函数的意义等同于类的构造器(同理,__del__()等同于类的析构函数)。因此,__init__()方法的作用是创建一个类的实例。
    为了将一个类实例当做函数调用,我们需要在类中实现__call__()方法。也就是我们要在类中实现如下方法:def __call__(self, *args)。
  • 相关阅读:
    大文件上传实现总结
    JDK线程池异常处理方式
    packageinfo.java 作用
    VBA 发送邮件代码
    TCP/IP协议、DoD模型、OSI模型
    3D空间基础概念之三:几何变换
    IP寻址
    IP地址排错命令
    WIN7用户文件夹迁移
    IP报头包含的协议
  • 原文地址:https://www.cnblogs.com/joxin/p/9850823.html
Copyright © 2011-2022 走看看