<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                在上一篇文章的末尾,我們創建了一個scrapy框架的爬蟲項目test,現在來運行下一個簡單的爬蟲,看看scrapy爬取的過程是怎樣的。 ##一、爬蟲類編寫(spider.py) ~~~ from scrapy.spider import BaseSpider class test(BaseSpider): name = "test" allowed_domains = ["yuedu.baidu.com"] start_urls = ["http://yuedu.baidu.com/book/list/0?od=0&show=1&pn=0"] def parse(self, response): print response.url ~~~ ##二、爬網頁:運行scrapy項目 這里選擇從命令行啟動運行項目的方式,一定要注意工程目錄結構,能夠運行scrapy命令的只有scrapy安裝的根目錄下。 cd到scrapy的根目錄,我的是D:\Python27\,然后運行scrapy命令:scrapy runspider test\test\spiders\spider.py。(或者直接運行工程項目的命令scrapy crawl test),可以看到爬蟲爬取的過程有一些debug信息輸出: ![](https://box.kancloud.cn/2016-02-18_56c5641e4c44a.jpg) scrapy給爬蟲的start_urls屬性中的每個url創建了一個scrapy.http.Request對象,指定parse()方法為回調函數。當這些Request被調度并執行,之后通過parse()返回scrapy.http.Response對象,返回給爬蟲。 ##三、取網頁:網頁解析 這里用shell爬取網頁,cd到項目的根目錄test\下,在cmd中輸入: ~~~ scrapy shell http://yuedu.baidu.com ~~~ 可以看到結果如下圖: ![](https://box.kancloud.cn/2016-02-18_56c5641e65f69.jpg) 剛才的整個過程中,shell載入url后獲得了響應,由本地變量response存儲響應結果。 來看下response的內容,輸入response.body可以查看response的body部分,即抓到的網頁內容: ![](https://box.kancloud.cn/2016-02-18_56c5641e8312d.jpg) 要查看head部分,輸入response.headers: ![](https://box.kancloud.cn/2016-02-18_56c5641ecf26e.jpg) ##四、用選擇器xpath提取網頁 之前提取網頁是用的正則,這里選擇器xpath提供了更好的接口。shell有一個selector對象sel,可以根據返回的數據類型自動選擇最佳的解析方式(XML or HTML),無需再指明了。 1.抓取網頁標題,即<titie>標簽,在命令行里輸入:response.selector.xpath(‘//title’) ![](https://box.kancloud.cn/2016-02-18_56c5641ee20e4.jpg) 或者:response.xpath(‘//title’) ![](https://box.kancloud.cn/2016-02-18_56c5641ef3bad.jpg) 2.抓取<title>下的<text>內容,命令sel.xpath(‘//title/text()’).extract() ![](https://box.kancloud.cn/2016-02-18_56c5641f0c5c7.jpg) 先寫到這里,下篇文章給出一個關于scrapy項目的完整實例。 原創文章,轉載請注明出處:[http://blog.csdn.net/dianacody/article/details/39753933](http://blog.csdn.net/dianacody/article/details/39753933)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看