zoukankan      html  css  js  c++  java
  • 爬虫凶猛:爬支付宝、爬微信、窃取数据/编程实战(2):爬虫架构

    大家如果有什么好的想法請多留言,多提意見。

    語言&環境

    語言:彈藥充足,Python沖鋒!

    爬虫凶猛:爬支付宝、爬微信、窃取数据/编程实战(2):爬虫架构

     

    爬虫凶猛:爬支付宝、爬微信、窃取数据/编程实战(2):爬虫架构

     

    爬虫凶猛:爬支付宝、爬微信、窃取数据/编程实战(2):爬虫架构

     

    爬虫凶猛:爬支付宝、爬微信、窃取数据/编程实战(2):爬虫架构

     

    爬虫凶猛:爬支付宝、爬微信、窃取数据/编程实战(2):爬虫架构

     

    一個迷你框架

    下面以比較典型的通用爬蟲為例,分析其工程要點,設計并實現一個迷你框架。架構圖如下:

    爬虫凶猛:爬支付宝、爬微信、窃取数据/编程实战(2):爬虫架构

     

    代碼結構:

    爬虫凶猛:爬支付宝、爬微信、窃取数据/编程实战(2):爬虫架构

     

    config_load.py 配置文件加載

    crawl_thread.py 爬取線程

    mini_spider.py 主線程

    spider.conf 配置文件

    url_table.py url隊列、url表

    urls.txt 種子url集合

    webpage_parse.py 網頁分析

    webpage_save.py 網頁存儲

    看看配置文件里有什么內容:

    spider.conf

    爬虫凶猛:爬支付宝、爬微信、窃取数据/编程实战(2):爬虫架构

     

    爬虫凶猛:爬支付宝、爬微信、窃取数据/编程实战(2):爬虫架构

     

    爬虫凶猛:爬支付宝、爬微信、窃取数据/编程实战(2):爬虫架构

     

    爬虫凶猛:爬支付宝、爬微信、窃取数据/编程实战(2):爬虫架构

     

    爬虫凶猛:爬支付宝、爬微信、窃取数据/编程实战(2):爬虫架构

     

    url_table.py

    爬虫凶猛:爬支付宝、爬微信、窃取数据/编程实战(2):爬虫架构

     

    3. 記錄哪些網頁已經下載過的小本本——URL表。

    在互聯網上,一個網頁可能被多個網頁中的超鏈接所指向。這樣在遍歷互聯網這張圖的時候,這個網頁可能被多次訪問到。為了防止一個網頁被下載和解析多次,需要一個URL表記錄哪些網頁已經下載過。再遇到這個網頁的時候,我們就可以跳過它。

    crawl_thread.py

    爬虫凶猛:爬支付宝、爬微信、窃取数据/编程实战(2):爬虫架构

     

    爬虫凶猛:爬支付宝、爬微信、窃取数据/编程实战(2):爬虫架构

     

    爬虫凶猛:爬支付宝、爬微信、窃取数据/编程实战(2):爬虫架构

     

    5. 頁面分析模塊

    從網頁中解析出URLs或者其他有用的數據。這個是上期重點介紹的,可以參考之前的代碼。

    6. 頁面存儲模塊

    保存頁面的模塊,目前將文件保存為文件,以后可以擴展出多種存儲方式,如mysql,mongodb,hbase等等。

    webpage_save.py

    爬虫凶猛:爬支付宝、爬微信、窃取数据/编程实战(2):爬虫架构

     

    整個框架已經清晰了奧,不要小看它呢,不管是多么復雜的框架都是在這些基本要素上擴展出來的。

    希望能夠幫助大家打下一定的基礎。請多留言,多探討。

    記得關注我+轉發此文奧,愿能夠幫助更多正在學習Python的小伙伴!

  • 相关阅读:
    Jessica's Reading Problem POJ
    FatMouse and Cheese HDU
    How many ways HDU
    Humble Numbers HDU
    Doing Homework again
    Stacks of Flapjacks UVA
    Party Games UVA
    24. 两两交换链表中的节点
    面试题 03.04. 化栈为队
    999. 可以被一步捕获的棋子数
  • 原文地址:https://www.cnblogs.com/HT168/p/9372639.html
Copyright © 2011-2022 走看看