mysql scrapy 重复数据_大数据python(scrapy)爬虫爬取招聘网站数据并存入mysql后分析...
基于Scrapy的爬蟲爬取騰訊招聘網站崗位數據視頻(見本頭條號視頻)
根據TIOBE語言排行榜更新的最新程序語言使用排行榜顯示,python位居第三,同比增加2.39%,為什么會越來越火,越來越受歡迎呢,背后折射出的是人工智能、機器學習和大數據的普及程度和使用頻率,首先python可以做web開發語言,可以做運維,可以做數據分析,可以做爬蟲,可以做機器學習,可謂是萬金油語言,今天給大家帶來一個基于scrapy的爬蟲和數據分析。
各個程序語言排行榜
本文將從以下三個方面進行介紹:
1、 what 基于python的scrapy是什么?
2、 How 如何安裝scrapy?
3、 Where 在哪里使用,爬取過程
對于普通工薪族來說進入騰訊工作是他們畢生的夢想,那它的工作jd是怎么樣的,要找什么樣的人呢,薪資待遇是怎樣的呢,帶著這幾個問題我們通過scrapy來爬取騰訊招聘網站的數據來了解吧。
騰訊招聘網站
1、 what 基于python的scrapy是什么?
Scrapy 是一個爬蟲框架,為了爬取網站數據,提取結構性數據而編寫。 可應用在包括數據挖掘,深度學習或存儲歷史數據等領域。
Scrapy,即Scraping data with Python。Scrapy 使用異步網絡庫Twisted來處理網絡通訊,架構清晰,并且包含了各種中間件接口,滿足不同年齡段不同人群的個性化需求。Scrapy 架構。
Scrapy 架構
引擎(Scrapy Engine)
負責組件之間數據的流轉,它實現了并行化,類似于管道系統;
調度器(Scheduler)
接收requests,讓它們老實在這里排隊,以便后面下載器處理,requests中大部分都是url,體積較小,可想,即使有很多請求,也是沒有關系的哈
下載器(Downloader)
下載器負責處理requests,抓取網頁,并傳遞給引擎,之后抓取結果返回給spider;下載器是scrapy框架性能的中最重要的一環,機制復雜,總之,它限制了并發數,有管道長度的延遲;下載器的能力受限于CONCURRENT_REQUESTS*設置。
爬蟲中間件(Spider Middlewares)
位于引擎和Spider之間,處理抓取器的輸入和輸出;當你想在spiders產生的Items到達Item Pipeline之前或response到達spider之前做一些處理,就用它;
爬蟲(Spiders)
這部分是用戶編寫的可定制化的部分,負責解析response,產生items和url;它對Scrapy框架性能沒啥影響,不是瓶頸哈;
項目管道(Item Pipeline)
負責處理spider產生的item;典型用途:清洗,驗證,持久化等;Spider對每個Request可能產生幾百個items,只有CONCURRENT_ITEMS會被并行處理;注意,當使用pipelines連接數據庫時,pipelines的默認值是100,此時向數據庫導入數據就會造成瓶頸問題了,因為items太多啊
下載器中間件(Downloader Middlewares)
位于下載器和引擎之間,處理傳送到下載器的requests和傳送到引擎的response;可以想象,當你要在requests到達下載器之前,或者,responses到達爬蟲之前做一些預處理,那就要用這個玩意了;
2、 How 如何安裝scrapy?
安裝的方式有很多,這里提供比較簡潔的安裝方式。
(1)安裝anaconda3.6,這里就不詳細說它的安裝步驟,讀者可以自行百度安裝即可,很簡單,為啥安裝它呢,因為它有很多安裝好了的包,可以自己安裝環境變量,又可以做數據分析,把爬來的數據,用它來進行分析一舉兩得,這也是很多數據工程師常用的方式。
下載地址:https://www.anaconda.com/distribution/
anaconda下載地址和版本
(2)打開終端,輸入命令
conda list
查看當前anaconda里已經存在的包
沒有安裝過scrapy,那么可以現在進行安裝。
輸入命令conda install scrappy
anaconda就會自動幫你下載包
完成后,再輸入命令:
conda install service_identity
(2)在pycharm里配置anaconda
File-》Settings-》Project interpreter-》找到你anaconda的安裝路徑下的python.exe添加進去即可
配置scrapy圖
隨便新建一個文件 import scrappy 運行不報錯,即配置成功。
3、 Where 在哪里使用,爬取過程
把編寫好的代碼運行一下
運行方式既可以是在cmd 運行命令scrapy crawl tencent_jobs
也可以像下圖一樣運行
運行代碼
核心代碼如下圖:
核心代碼
代碼架構
代碼架構
我們還需要在mysql表 創建jobs表
sql_create_table = '''
create table jobs(job_name varchar (100),
location varchar (40),
type varchar (40),
needed_people_num varchar (5),
duty varchar (400),
requirement varchar (500)
)
mysql
執行代碼:
程序運行圖
查詢結果:
查詢結果
查詢結果
總結:基于scrapy的爬蟲操作簡單,容易學習,如需更進一步,需要弄懂它的原理和方法,做到知其然知其所以然,才能真正進步,存入mysql后的數據用anaconda進行分析,將在下一次進行分享。歡迎各位朋友批評指正,如果想要詳細代碼的可以私信我。
總結
以上是生活随笔為你收集整理的mysql scrapy 重复数据_大数据python(scrapy)爬虫爬取招聘网站数据并存入mysql后分析...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 平安性格测试题及答案_面试要求做性格测试
- 下一篇: enum 定义3个属性_和平精英:合金龙