本文目錄一覽:
- 1、scrapy-redis到底需要怎樣部署啊?分別應該安裝什麼軟體?
- 2、python爬蟲需要什麼基礎
- 3、python爬蟲需要安裝哪些庫
- 4、從python基礎到爬蟲的書有什麼值得推薦
- 5、python爬蟲爬下來的數據怎麼導入到MySQL
scrapy-redis到底需要怎樣部署啊?分別應該安裝什麼軟體?
酷辣蟲 CoLaBug
綜合技術
Scrapy-redis分散式爬蟲+Docker快速部署
簡書 簡書 2018-07-28 本文共6495個字,預計閱讀需要17分鐘。
生成海報
微信掃一掃,分享到朋友圈
Scrapy-redis分散式爬蟲+Docker快速部署
0 0
Scrapy-redis分散式爬蟲+Docker快速部署
打算爬一個網站的數據,量比較大, url 鏈接從0開始達到2億,剛開始用 request 遞歸寫了個爬蟲,發現速度低的可憐,不算任何的錯誤,也只能達到.5秒一個請求,這速度實在不能忍,所以想著用分散式爬蟲,所以才有了這篇文章
開發環境+框架、庫
開發環境:
macOS High Sierra 10.13
Python3.5
開發工具:
PyCharm
Python庫: pymysql 、 scrapy 、 scrapy-redis 、 requests 、 BeautifulSoup4 、 redis-py
運行環境: Centos7.4 Centos6.9 Docker
開始搭建環境
安裝 Python3 Windows請自行查找教程安裝、Mac用戶系統自帶了 Py2.6 ,我建議升級到 Python3 ,用 HomeBrew 安裝即可
Homebrew安裝命令
/usr/bin/ruby -e “$(curl -fsSL )”
然後使用 brew install python 安裝 Python3
安裝成功後再終端輸入 python3 查看是否安裝成功,如果輸入 python 默認使用本機的 py2 ,當然也可以去配置文件設置個 alias 將 python 設置成啟動 py3
image
如圖安裝成功
然後用
easy_install pip 安裝
Python 的包管理工具
pip
注意:有的人用的是 Anaconda 作為 py 環境,我剛開始也是用的 Anaconda ,但是在 install scrapy-redis 的時候發現無法導入,默認源都沒有這個庫,
python爬蟲需要什麼基礎
網頁知識
html,js,css,xpath這些知識,雖然簡單,但一定需要了解。 你得知道這些網頁是如何構成的,然後才能去分解他們.
HTTP知識
一般爬蟲你需要模擬瀏覽器的操作,才能去獲取網頁的信息
如果有些網站需要登錄,才能獲取更多的資料,你得去登錄,你得把登錄的賬號密碼進行提交
有些網站登錄後需要保存cookie信息才能繼續獲取更多資料
正則表達式
有了正則表達式才能更好的分割網頁信息,獲取我們想要的數據,所以正則表達式也是需要了解的.
一些重要的爬蟲庫
url,url2
beautiul Soup
資料庫
爬取到的數據我們得有個地方來保存,可以使用文件,也可以使用資料庫,這裡我會使用mysql,還有更適合爬蟲的MongoDB資料庫,以及分散式要用到的redis 資料庫
爬蟲框架
PySpider和Scrapy 這兩個爬蟲框架是非常NB的,簡單的爬蟲可以使用urllib與urllib2以及正則表達式就能完成,但高級的爬蟲還得用這兩個框架。 這兩個框架需要另行安裝。後面一起學習.
反爬蟲
有時候你的網站數據想禁止別人爬取,可以做一些反爬蟲處理操作。 打比方百度上就無法去查找淘寶上的數據,這樣就避開了搜索引擎的競爭,淘寶就可以搞自己的一套競價排名
分散式爬蟲
使用多個redis實例來緩存各台主機上爬取的數據。
爬蟲要學的東西還是挺多的,想把爬蟲玩得666,基本就是這些知識點吧!
python爬蟲需要安裝哪些庫
一、 請求庫
1. requests
requests 類庫是第三方庫,比 Python 自帶的 urllib 類庫使用方便和
2. selenium
利用它執行瀏覽器動作,模擬操作。
3. chromedriver
安裝chromedriver來驅動chrome。
4. aiohttp
aiohttp是非同步請求庫,抓取數據時可以提升效率。
二、 解析庫
1. lxml
lxml是Python的一個解析庫,支持解析HTML和XML,支持XPath的解析方式,而且解析效率非常高。
2. beautifulsoup4
Beautiful Soup可以使用它更方便的從 HTML 文檔中提取數據。
3. pyquery
pyquery是一個網頁解析庫,採用類似jquery的語法來解析HTML文檔。
三、 存儲庫
1. mysql
2. mongodb
3. redis
四、 爬蟲框架scrapy
Scrapy 是一套非同步處理框架,純python實現的爬蟲框架,用來抓取網頁內容以及各種圖片
需要先安裝scrapy基本依賴庫,比如lxml、pyOpenSSL、Twisted
從python基礎到爬蟲的書有什麼值得推薦
《Python3爬蟲入門到精通課程視頻【附軟體與資料】【34課時】–崔慶才》百度網盤資源免費下載
鏈接:
?pwd=zxcv 提取碼:zxcv
Python3爬蟲入門到精通課程視頻【附軟體與資料】【34課時】–崔慶才|章節5: 分散式篇|章節4: 框架篇|章節3: 實戰篇|章節2: 基礎篇|章節1: 環境配置|Python3爬蟲課程資料代碼.zip|2018-Python3網路爬蟲開發實戰-崔慶才.pdf|課時06:Python爬蟲常用庫的安裝.zip|課時05:Python多版本共存配置.zip|課時04:MySQL的安裝.zip|課時03:Redis環境配置.zip|課時02:MongoDB環境配置.zip|課時01:Python3+Pip環境配置.zip|課時13:Selenium詳解.zip
python爬蟲爬下來的數據怎麼導入到MySQL
下載mysql.connector庫
然後把爬蟲爬到的數據通過mysql裡面的insert語句查到資料庫,當然也可以建表,一般我沒用python建表 是先建好再寫數據的
import mysql.connector
conn = mysql.connector.connect(
user=’root’,
password=’root’,
host=’127.0.0.1′,
port=’3306′,
database=’test_demo’
)
cursor = conn.cursor()
cursor.execute(“INSERT INTO test_user(`uuid`,`user_name`,`user_level`) VALUES (%s,%s,%s)”,[id, user_name, user_level])
cursor.execute(“INSERT INTO tieba_user_detail(`user_name`,`user_exp`,`user_sex`,`tieba_age`,`tieba_note`,`user_favorites`,`user_fans`) VALUES (%s,%s,%s,%s,%s,%s,%s)”,[user_name,user_exp,user_sex, tieba_age,tieba_note, user_favorites, user_fans])
print(‘************** %s %s 數據保存成功 **************’%(user_rank,user_name))
conn.commit()
cursor.close()
插進入就這樣的
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/285387.html