Pages - Menu

2019年7月29日 星期一

[Python]Scrapy傳遞參數

某個特殊需求,
我想要再願望清單上做記號,
當有抓到這本書有二手書的時候,立即丟line通知我。


在傳送參數時,加上 meta={"name":value}


    def start_requests(self):

        source_url = "...."
        for keyword in self.db.wishList.find ({},{ "name" :1 , "_id" : 0 ,"quote":1 } ):
            self.log(keyword['name'])
            #self.log("urlencode::: " + urlparse.quote(keyword['name']))
            start_url = source_url + urlparse.quote(keyword['name'])
            yield scrapy.Request(start_url,self.parse,meta={"favorite":keyword['quote']})

使用方式,response.meta.get('name')


    def parse(self, response):
        #le = LinkExtractor(restrict_css='div.panel-default>a.list-group-item')
        #指到二手書列表
        #self.log("source_url_link is ===" + response.url)
        self.log("favorite: "+ response.meta.get('favorite'))


ref.Passing a argument to a callback function

2019年7月23日 星期二

[PowerShell]初學筆記 - Part III

1.左過濾,盡可能把過路條件放在左側或靠近命令行的開始部分。越早過濾越能減輕其他Cmdlet命令的工作。

Get-Service –name e*,*x*


2.條件判斷
表達式 中文
-eq 等於
-ne 不等於
-ge 大於或等於
-le 小於或等於
-gt 大於
-lt 小於
-and 而且
-or
-not 取值的相反
-like
-nolike
-clike
可接受* ,做查詢
忽略大小寫
區分大小寫
-match正則表達式
(5 –gt 10) –and (10 –gt 100) 返回false

2019年7月18日 星期四

[Python]MongoDB專用的資料庫工具

真的用指令對於一個寫習慣SQL的人來講,非常非常的不習慣。
所幸,翻到了一篇 10個頂級Mongodb GUI工具,以圖形方式管理數據庫
看到了  NoSQLBooster ,他裡面寫了一句含有 SQL查詢,那就先測看看了。
似乎也很多人用Robo 3T ,有分付費版跟免費版。
但沒看到有特別註明可使用SQL,就沒安裝了。

2019年7月17日 星期三

[Python]Python使用Mongo的語法

跟常用的SQL不太一樣,建議直接看第一個url,上面有SQL跟mongo的語法比對

[Python]Scrapy存MangoDB

MangoDB的建置方法,請看前面 MongoDB 與 Mongo-express 連動
因為Scrapy本身就有資料庫的寫入機制,所以在原本的程式上不用改。
需要改的地方只有 pipeline.py 、items.py以及settings.py

2019年7月16日 星期二

[Docker]MongoDB 與 Mongo-express 連動

I.先來個簡單的MongoDB使用方式

1.安裝mongoDB

docker pull mongo
sudo docker run --name mongo -p 27017:27017 -v ~/mongo:/data/db -d mongo

--name docker的名字(your docker name)
-p 27017:27017 前面是實體機的port,後面是container 的port
-v ~/mongo:/data/db  前面是實體機的位置,後面是container的位置
-d 在後台執行
如果要直接設定帳號密碼的話 ,請看(II)。
安裝完後,可以用瀏覽器開啟,有成功的話,會看到下面的畫面。

2019年7月15日 星期一

[Scrapy]實戰番外篇 Part I

重新又看了另一本的Scrapy的書,
才發現又多了一些東西。
寫個筆記記錄一下..

以下繼續

2019年7月10日 星期三

[Windows]指令執行應用程式

常用

logoff     登出
appwiz.cpl    新增移除程式
notepad 記事本
explorer 檔案總管
gpedit.msc 本機群組原則
netplwiz  啟用開機不輸入密碼自動登入


2019年7月3日 星期三

[Docker]自製docker image 執行scrapy

本次實做的環境
ubuntu 18.04 的伺服器版本
docker 18.06
python 3.6
pip 19.11

以下繼續

[Python]cannot import name main解決方式

要用pip3 安裝軟體時出現錯誤,
使用

sudo vim /usr/bin/pip3

將本來的

from pip import main
if __name__ == '__main__':
sys.exit(main())


改成

from pip import __main__
if __name__ == '__main__':
sys.exit(__main__._main())

修改方式,先按i 將文字編輯器改成insert模式,才能改資料
改完後,按ESC離開insert模式,再輸入:wq 存檔後關閉。


ref.
pip Import Error:cannot import name main解決方案
vim 程式編輯器