1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          spider什么意思(Spider是什么)

          來源:互聯網轉載 時間:2024-04-29 17:07:01
          1. 爬蟲是什么 爬蟲(Spider),這里當然不是說結網捉蟲的蜘蛛那樣的生物學上的爬蟲,這里說的是互聯網上的爬蟲,由程序員編寫,具有一定的邏輯性能夠完成在指定范圍內進行信息收集的程序。

          據說爬蟲占據了互聯網上60%多的流量,可想而知這個無比龐大的互聯網上有多少只辛辛苦苦矜矜業業的爬蟲們啊。

          爬蟲,主要分為搜索引擎類的爬蟲和具有一定目標的專用爬蟲。前者索引整個web世界,讓人們能方便的搜索到自己想要的信息,一般網站也很歡迎這些爬蟲。而后者有時候目的性比較強,爬取范圍也比較窄,一般收集數據用于二次加工或者數據分析等。這里主要講的就是第二種爬蟲。

          1. 爬蟲怎么工作 爬蟲的工作很簡單,一句話概括就是找到目標入口然后在目標頁面獲取目標內容。

          爬蟲的原理也不復雜,主要是通過http或者其他協議,發送請求到目標接口,然后解析返回的內容成結構化數據存儲到本地。

          1. 怎么制作爬蟲 制作一個爬蟲基本需要如下步驟:

          確定目標: 制作爬蟲首先需要清楚自己的目的,希望獲取哪些信息。 觀察目標: 然后通過觀察目標網站或者程序,獲取目標信息的入口和索引方式。 結構提取: 進入內容頁面,觀察感興趣區域的頁面結構,然后考慮通過正則表達式或者xpath等方式提取目標內容。 編碼實現: 前3步完成之后,最后就是使用線程工具或者自己編碼實現這個爬蟲了。 完成這些,基本上就可以認為制作出來一個網絡爬蟲了,然后就是讓這個爬蟲啟動運行起來。至于怎么處理爬到的數據,那就不是爬蟲的事了。

          下面介紹2種爬蟲制作方法。

          1. 使用工具制作爬蟲 由于爬蟲這種需求比較多,所以網絡上有一些專門的工具,能通過簡單的配置就能制作爬蟲。

          推薦一個國內軟件商制作的比較傻瓜式的爬蟲生成工具:火車采集器,免費版基本就夠用了。

          具體用法參考其視頻教程,基本上看完視頻就能知道怎么用了。

          這個對于一些簡單的場景基本夠用了,主要優勢是配置簡單,搭建方便,傻瓜化運行。

          1. 編寫代碼制作爬蟲 在現有工具無法滿足需求或者想要學習爬蟲的原理的時候,也可以通過編寫代碼來制作爬蟲。

          當然,也不需要要從tcp/ip或者http協議這么底層開始,可以通過一些開源的爬蟲框架來編寫爬蟲。其中以python語言作為基礎的爬蟲框架比較多,這里以scrapy為例。

          scrapy是一個開源的python爬蟲框架,也是目前最流行的爬蟲框架之一,里面集成了一些爬蟲常用的功能,基本上只需要寫爬蟲的邏輯就行。

          以一個最簡單的例子來說明scrapy的用法。

          5.1 確定目標 需要有一個爬蟲每天去查詢百度搜索“爬蟲”的前2頁搜索結果,然后分析新排序到前2頁的搜索結果(其他后處理)。

          5.2 觀察目標 首先在百度輸入“爬蟲”搜索,跳轉到搜索結果頁。觀察結果頁面的URL結果,可以看到:

          第1頁URL: https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&tn=baidu&wd=爬蟲&oq=爬蟲&rsv_pq=9fd63f8600011b0b&rsv_t=3b30%2BHymEU5wSsRM5DGZD1gCwRjvljkpEIr3hXU0nOba6AHvpIdgH6DokZ4&rqlang=cn&rsv_enter=0&rsv_sug3=1&rsv_sug1=1&rsv_sug7=100&rsv_sug4=470

          第2頁URL: https://www.baidu.com/s?wd=爬蟲&pn=10&oq=爬蟲&ie=utf-8&usm=1&rsv_pq=cb75075a0001681d&rsv_t=0986khHCUHLdfml7ymZib2JecfTLlPX%2Ft57JycxSQwzQh6miPsj1IKCeEGQ&rsv_page=1

          URL里面有不少參數,可能用不著,所以試著簡化這個URL:

          第1頁URL: https://www.baidu.com/s?wd=爬蟲&pn=0

          第2頁URL: https://www.baidu.com/s?wd=爬蟲&pn=10

          那么爬蟲的入口就知道了。

          5.3 結構提取 scrapy用的是xpath做結構解析,所以這里需要獲取到目標區域的xpath。xpath是什么參考這里。

          chrome瀏覽器有一個很好的插件可以很方便的獲取到某個html節點的xpath,XPath Helper,先安裝好它。

          打開chrome,輸入URL(https://www.baidu.com/s?wd=爬蟲&pn=0),然后F12進入開發者模式。通過鼠標找到第1個搜索結果的html節點,然后右鍵:copy-Copy XPath。 得到搜索結果html節點的xpath分別是:

          第1頁1-10搜索結果: //[@id="1"]/h4/a //[@id="2"]/h4/a ... //[@id="10"]/h4/a 第2頁11-20搜索結果: //[@id="11"]/h4/a //[@id="12"]/h4/a ... //[@id="20"]/h4/a 那么目標區域的xpath就很明顯了,獲取到xpath之后得到href屬性和text結果就行了。

          當然也可以通過其他的xpath獲取到這些節點位置,這個并不是唯一的。

          5.4 編碼實現 scrapy安裝這里不再贅述,通過pip install scrapy即可安裝,國內可以把pip的源設置為阿里云或者豆瓣的源,然后執行上述命令安裝。

          本節全部代碼在:baidu_spider

          進入工作目錄,命令行輸入:

          scrapy startproject baidu_spider 然后進入baidu_spider目錄,打開items.py,輸入如下代碼:

          -- coding: utf-8 --

          import scrapy

          class BaiduSpiderItem(scrapy.Item): # define the fields for your item here #搜索結果的標題 title = scrapy.Field() #搜索結果的url url = scrapy.Field() 這里定義的是爬蟲爬取結果的結構,包含搜索結果的標題和搜索結果的url。

          打開settings.py,修改下面行:

          #ROBOTSTXT_OBEY = True ROBOTSTXT_OBEY = False 這個修改是因為百度的robots.txt禁止其他爬蟲去爬它,所以需要把robots協議這個君子協定暫時單方面關掉。

          然后進入spider目錄,新建baiduSpider.py,輸入下面代碼:

          -- coding: UTF-8 --

          import scrapy from scrapy.spiders import CrawlSpider from scrapy.selector import Selector from scrapy.http import Request from baidu_spider.items import BaiduSpiderItem from selenium import webdriver import time

          class BaiduSpider(CrawlSpider): name='baidu_spider'

          defstart_requests(self):#函數名不可更改,此函數定義了爬蟲的入口地址#使用瀏覽器訪問self.browser=webdriver.Chrome('d:/software/chromedriver.exe')foriinrange(0,20,10):url='https://www.baidu.com/s?wd=爬蟲&pn=%d'%iyieldself.make_requests_from_url(url)defparse(self,response):#函數名不可更改,此函數定義了爬蟲的頁面解析#打開瀏覽器訪問頁面self.browser.get(response.url)time.sleep(1)selector=Selector(text=self.browser.page_source)page_start=int(response.url.split('=')[-1])foriinrange(1,11):item=BaiduSpiderItem()xpath='//*[@id="%d"]/h4/a'%(page_start+i)printxpathprintselector.xpath(xpath+'/@href').extract()item['url']=selector.xpath(xpath+'/@href').extract()[0]item['title']=selector.xpath(xpath+'//text()').extract()yielditem

          這里用到了selenium和chrome webdriver,用于使用chrome模擬正常用戶的訪問,這是因為百度做了防爬蟲的措施,所以為了簡單,我們就假裝我們的爬蟲就是正常用戶。

          selenium通過pip安裝即可,chrome webdriver在此處下載,然后安裝上。把baiduSpider.py中的webdriver.Chrome行中的可執行文件地址改成自己的安裝地址。

          全部代碼編寫完畢,在scrapy.cfg那一層目錄(頂層)中輸入下面的命令啟動爬蟲:

          scrapy crawl baidu_spider -o result.csv 一切順利的話會輸出一些log,并且啟動chrome打開網頁,最后生成result.csv文件,文件內包含了爬取到的結果。

          1. 爬蟲進階 爬蟲的進階就是需要與數據來源方斗智斗勇了,處理包括但不限于以下問題:

          IP被封禁 訪問次數受限制 爬取速度太慢 頁面重定向 頁面ajax生成內容 頁面內容由復雜的javascript生成 etc.

          到此,相信大家對“Spider是什么”有了更深的了解,不妨來實際操作一番吧!這里是本站網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

          標簽:spider什么意思-

          c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...

          2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...

          :喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...

          什么是赤字?為什么會出現財政赤字?財政赤字會影響到我們的生活質量嗎?一起跟隨小編來了解下吧!赤字從財政上進行考量,就是虧本的意思。如果是財政上出現赤字,將會影響到我們的日常生活,因為出現財政赤字后必然會引|起通貨膨脹,在工資不變而物價上漲時,就必然會對我們的生活質量產生影響。赤字也會影響到我們的日常生活,因為出現財政赤字后,國家就會增加紙幣的發行量,當貨幣發行量過大的時候,物價的供應已無法滿足民眾...

          2010年,28歲的車曉與身家125億的山西首富李兆會結婚,婚禮花費超過5000萬。15個月后,兩人離婚。李兆會之父李海倉創建了海鑫。2002年,李海倉死于一場車禍。父親去世后,28日,22歲的李兆會成為他的繼承人。經過他的大膽改革,李兆會在2010年以125億元的資產成為山西首富。那年他才30歲。那一年,他遇到了他的妻子車曉。車曉出生在一個藝術家庭。他的爺爺是著名女明星,媽媽是王麗云,爸爸是《西...

          (相關資料圖)最近小編看到大家都在討論形容墨汁香味的詞語有哪些相關的事情,對此呢小編也是非常的感應興趣,那么這件事究竟是怎么發生的呢?具體又是怎么回事呢?下面就是小編搜索到的關于形容墨汁香味的詞語有哪些事件的相關信息,我們一起來看一下吧!形容墨汁香味的詞語:虎墨沉香、德藝雙馨、明德惟馨 、馨香禱祝,等等。1、 虎墨沉香;釋義: 說墨汁在一定期限范圍內會發出特別的清香味。2、 德藝雙馨 ;釋義:形...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>