將爬取的資料儲存到mysql中

2022-08-20 05:03:12 字數 1544 閱讀 1187

為了把資料儲存到mysql費了很多周折,早上再來折騰,終於折騰好了

安裝資料庫

1、pip install pymysql(根據版本來裝)

2、建立資料

開啟終端 鍵入mysql -u root -p  回車輸入密碼

create database scrapy (我新建的資料庫名稱為scrapy)

3、建立表

資料庫部分就醬紫啦

4、編寫pipeline

5、編寫setting

6、編寫spider檔案

7、爬取資料儲存到mysql

scrapy crawl xhwang

之前報錯為2018-10-18 09:05:50 [scrapy.log] error: (1241, 'operand should contain 1 column(s)')

因為我的spider**中是這樣

附一張網上找到的答案

錯誤原因:item中的結果為,這種型別的資料

更正為6下面**後出現如下會有重複

然後又查了下原因終於解決問題之所在

在圖上可以看出,爬取的資料結果是沒有錯的,但是在儲存資料的時候出錯了,出現重複資料。那為什麼會造成這種結果呢? 

其原因是由於spider的速率比較快,scrapy運算元據庫相對較慢,導致pipeline中的方法呼叫較慢,當乙個變數正在處理的時候

乙個新的變數過來,之前的變數值就會被覆蓋了,解決方法是對變數進行儲存,在儲存的變數進行操作,通過互斥確保變數不被修改。

在pipeline中修改如下**

完成以上設定再來爬取,ok 大功告成(擷取部分)

scrapy爬取網頁資訊,儲存到MySQL資料庫

爬取 網頁資訊分析 我們要爬取頁面的名言內容和相對應的標籤內容,存入mysql資料庫中。通過分析頁面,每乙個名言的div盒子的class名稱都是quote,我們使用css選擇器,先把盒子中內容挑選出來,再對盒子中的內容進行提取。response.css quote 設v為盒子中的內容 盒子中第乙個s...

scrapy爬取資料並儲存到文字

1.scrapy專案結構如下 2.開啟spidler目錄下的duba.py檔案,如下 這個是根據豆瓣一部分頁面獲取的熱門話題內容,有6條資料 coding utf 8 import scrapy from scrapydemo.items import scrapydemoitem from lxm...

scrapy 爬取資料儲存到資料庫

items.py coding utf 8 define here the models for your scraped items see documentation in import scrapy class mkwitem scrapy.item link scrapy.field typ...