原创 Go變量
變量的定義: 變量指定了某個存儲單元,該單元會存儲特定類型的值。在Go中,有很多種方法用來生命變量 聲明單個變量: var name type --> 這個就是聲明單個變量的語法格式 var age int --> 這裏面聲
原创 scrapy-redis
scrapy-redis的源碼並不多,因爲它是利用Redis數據庫重新實現了scrapy中的某些組件 對於一個分佈式爬蟲框架: 1、分配爬取的任務,爲每個爬蟲分配不重複的爬取任務 2、彙總爬取的數據,將所有爬取到的數據彙總到一個
原创 使用代理的爬蟲
信息源是搜狗微信,就爬到的數據保存到MySQL中 搜狗對微信公衆號和文章做了整合,我們可以直接通過鏈接搜索到相關的公衆號和文章 例如搜索NBA,搜索的結果的URL中有很多無關的GET請求的參數,手動將無關的請求參數去掉,其中只保留t
原创 使用HTTP代理
HTTP代理服務器可以比作客戶端與Web服務器網站之間的一個信息中轉站,客戶端發送的HTTP請求和Web服務器返回的HTTP響應通過代理服務器轉發給對方, 爬蟲程序在爬取某些網站的時候也需要使用代理,例如 由於網絡環境因素,直接爬取的
原创 在Linux中使用selenium(環境部署)
1、安裝chrome 用下面的命令安裝Google Chrome yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
原创 scrapy模擬登錄
登錄的實質就是朝着服務器發送含有登錄表單數據的HTTP請求(通常都是POST)。 scrapy提供了一個FormRequest類,是Request的子類,專門用來構造含有表單數據的請求,FormRequest的構造器方法有一個formdat
原创 scrapy中下載文件和圖片
下載文件是一種很常見的需求,例如當你在使用爬蟲爬取網站中的圖片、視頻、word、pdf、壓縮包等的時候 scrapy中提供了FilesPipeline和ImagesPipeline,專門用來下載文件和圖片: 我們其實可以把這兩個it
原创 在scrapy中將數據保存到mongodb中
利用item pipeline可以實現將數據存入數據庫的操作,可以創建一個關於數據庫的item pipeline 需要在類屬性中定義兩個常量 DB_URL:數據庫的URL地址 DB_NAME:數據庫的名字 在Spider爬取
原创 Item Pipeline
在創建一個scrapy項目的時候,會自動生成一個pipeliens.py文件,它是用來放置用戶自定義的item pipeline, 一個 item pipeline不需要繼承特定的基類,只需要實現某些特定的方法,例如process_it
原创 scrapy中的Request和Response對象
前言: 如果框架中的組件比做成是人的各個器官的話,那個Request和Response就是血液,Item就是代謝產物 Request對象: 是用來描述一個HTTP請求,其構造參數有 url 請求的URL callback 回
原创 scrapy中使用LinkExtractor提取鏈接
le = LinkExtractor(restrict_css='ul.pager li.next') links = le.extract_links(response) 使用LinkExtractor的過程: 導入LinkExt
原创 在scrapy中過濾重複的數據
當爲了確保爬到的數據中沒有重複的數據的時候,可以實現一個去重的item pipeline 增加構造器方法,在其中初始化用於對與書名的去重的集合 在process_item方法中,先取出item中要判斷的字段的名稱,檢查是否已經存在集
原创 在scrapy中利用Selector來提取數據
1、創建對象 Selector類的實現位於scrapy.selector模塊,創建Selector對象的時候,可以將頁面的Html文檔字符串傳遞給Selector構造器方法 2、選中數據 調用Selector對象的xpath或者cs
原创 CrawlSpider
CrawlSpider類通過一些規則(rules),使對於鏈接(網頁)的爬取更具有通用性,換句話說CrawlSpider爬蟲是通用性爬蟲,那麼Spider爬蟲就更像是爲了一些特殊網站制定的爬蟲 創建一個工程: scrapy st
原创 python爬蟲
什麼是爬蟲: 爬蟲也就是網絡爬蟲(Web Spider)。翻譯過來就是在網絡上爬行的蜘蛛🕷️,這時候如果把互聯網看成是一張大網來的話,那麼爬蟲就是在大網上爬來爬去的蜘蛛,根據想要的東西,就將它提取出來 我們在瀏覽器中輸入一個網址,點