摘要:安裝這個(gè)就不用我說(shuō)了吧,網(wǎng)上教程一大堆安裝包創(chuàng)建項(xiàng)目進(jìn)入項(xiàng)目目錄下,創(chuàng)建爬蟲(chóng)文件進(jìn)入項(xiàng)目目錄,執(zhí)行命令編寫文件編寫文件職位名稱詳情連接職位類別執(zhí)行輸出到文件執(zhí)行成功會(huì)顯示如下內(nèi)容版本說(shuō)明源碼地址參考關(guān)注微信公眾號(hào),
安裝 python
這個(gè)就不用我說(shuō)了吧,網(wǎng)上教程一大堆
安裝 scrapy 包
pip install scrapy
創(chuàng)建 scrapy 項(xiàng)目
scrapy startproject aliSpider
進(jìn)入項(xiàng)目目錄下,創(chuàng)建爬蟲(chóng)文件
cmd 進(jìn)入項(xiàng)目目錄,執(zhí)行命令:
scrapy genspider -t crawl alispi job.alibaba.com
編寫 items.py 文件
# -*- coding: utf-8 -*- # Define here the models for your scraped items # # See documentation in: # https://doc.scrapy.org/en/latest/topics/items.html import scrapy class AlispiderItem(scrapy.Item): # define the fields for your item here like: detail = scrapy.Field() workPosition = scrapy.Field() jobclass = scrapy.Field()
編寫 alispi.py 文件
# -*- coding: utf-8 -*- import scrapy from scrapy.linkextractors import LinkExtractor from scrapy.spiders import CrawlSpider, Rule from aliSpider.items import AlispiderItem class AlispiSpider(CrawlSpider): name = "alispi" allowed_domains = ["job.alibaba.com"] start_urls = ["https://job.alibaba.com/zhaopin/positionList.html#page/0"] pagelink = LinkExtractor(allow=("d+")) rules = ( Rule(pagelink, callback="parse_item", follow=True), ) def parse_item(self, response): # for each in response.xpath("http://tr[@style="display:none"]"): for each in response.xpath("http://tr"): item = AlispiderItem() # 職位名稱 item["detail"] = each.xpath("./td[1]/span/a/@href").extract() # # # 詳情連接 item["workPosition"] = each.xpath("./td[3]/span/text()").extract() # # # 職位類別 item["jobclass"] = each.xpath("./td[2]/span/text()").extract() yield item
執(zhí)行
scrapy crawl alispi
輸出到文件 items.json
scrapy crawl alispi -o items.json
執(zhí)行成功會(huì)顯示如下內(nèi)容
版本說(shuō)明
python 3.5.5
源碼地址:https://github.com/zhongsb/al...
參考:https://scrapy-chs.readthedoc...
關(guān)注微信公眾號(hào) [prepared],與博主深入探討。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/42542.html
摘要:用例運(yùn)行爬蟲(chóng)命令基本語(yǔ)法是否需要項(xiàng)目存在當(dāng)然是不需要咯貌似這個(gè)命令是不依托一個(gè)項(xiàng)目而直接運(yùn)行一個(gè)爬蟲(chóng)的命令。用例我終于寫完了,喜歡的就收藏推薦一下吧,這樣我就會(huì)更有動(dòng)力寫新的教程了,哇哈哈 0. 基本環(huán)境說(shuō)明 本文截圖及運(yùn)行環(huán)境均在Win8上實(shí)現(xiàn)(是的,我放假回家了,家里的機(jī)器是win8的沒(méi)有辦法),但基本步驟與win 7環(huán)境基本相同。(應(yīng)該把~)ps:我后來(lái)?yè)Q了臺(tái)win7的電腦,所...
摘要:概述在前面兩篇爬蟲(chóng)學(xué)習(xí)之基于的網(wǎng)絡(luò)爬蟲(chóng)和爬蟲(chóng)學(xué)習(xí)之簡(jiǎn)單的網(wǎng)絡(luò)爬蟲(chóng)文章中我們通過(guò)兩個(gè)實(shí)際的案例,采用不同的方式進(jìn)行了內(nèi)容提取。 概述 在前面兩篇(爬蟲(chóng)學(xué)習(xí)之基于Scrapy的網(wǎng)絡(luò)爬蟲(chóng)和爬蟲(chóng)學(xué)習(xí)之簡(jiǎn)單的網(wǎng)絡(luò)爬蟲(chóng))文章中我們通過(guò)兩個(gè)實(shí)際的案例,采用不同的方式進(jìn)行了內(nèi)容提取。我們對(duì)網(wǎng)絡(luò)爬蟲(chóng)有了一個(gè)比較初級(jí)的認(rèn)識(shí),只要發(fā)起請(qǐng)求獲取響應(yīng)的網(wǎng)頁(yè)內(nèi)容,然后對(duì)內(nèi)容進(jìn)行格式化存儲(chǔ)。很多時(shí)候我們抓取到的內(nèi)容...
摘要:快速入門首先,初步要做的就是快速構(gòu)建一個(gè)爬蟲(chóng)。然后把結(jié)果加入到一個(gè)隊(duì)列中。既然是入門,我們肯定是先關(guān)心我們需要的。 因?yàn)楣卷?xiàng)目需求,需要做一個(gè)爬蟲(chóng)。所以我一個(gè)python小白就被拉去做了爬蟲(chóng)?;藘芍軙r(shí)間,拼拼湊湊總算趕出來(lái)了。所以寫個(gè)blog做個(gè)記錄。 快速入門 首先,初步要做的就是快速構(gòu)建一個(gè)爬蟲(chóng)。 配置環(huán)境 Mac下安裝 1) 直接從官網(wǎng)下載 python下載官網(wǎng) 2) 是通過(guò)...
摘要:前言新接觸爬蟲(chóng),經(jīng)過(guò)一段時(shí)間的實(shí)踐,寫了幾個(gè)簡(jiǎn)單爬蟲(chóng),爬取豆瓣電影的爬蟲(chóng)例子網(wǎng)上有很多,但都很簡(jiǎn)單,大部分只介紹了請(qǐng)求頁(yè)面和解析部分,對(duì)于新手而言,我希望能夠有一個(gè)比較全面的實(shí)例。 0.前言 新接觸爬蟲(chóng),經(jīng)過(guò)一段時(shí)間的實(shí)踐,寫了幾個(gè)簡(jiǎn)單爬蟲(chóng),爬取豆瓣電影的爬蟲(chóng)例子網(wǎng)上有很多,但都很簡(jiǎn)單,大部分只介紹了請(qǐng)求頁(yè)面和解析部分,對(duì)于新手而言,我希望能夠有一個(gè)比較全面的實(shí)例。所以找了很多實(shí)例和文...
摘要:爬取百思不得姐首先一步一步來(lái),我們先從爬最簡(jiǎn)單的文本開(kāi)始。將百思不得姐段子保存到中別忘了將管道加到配置文件中。雖然我只是簡(jiǎn)單的爬了百思不得姐,不過(guò)這些方法可以應(yīng)用到其他方面,爬取更多更有用的數(shù)據(jù)。 前一篇文章介紹了很多關(guān)于scrapy的進(jìn)階知識(shí),不過(guò)說(shuō)歸說(shuō),只有在實(shí)際應(yīng)用中才能真正用到這些知識(shí)。所以這篇文章就來(lái)嘗試?yán)胹crapy爬取各種網(wǎng)站的數(shù)據(jù)。 爬取百思不得姐 首先一步一步來(lái),我...
閱讀 3295·2021-11-08 13:21
閱讀 1275·2021-08-12 13:28
閱讀 1497·2019-08-30 14:23
閱讀 1997·2019-08-30 11:09
閱讀 907·2019-08-29 13:22
閱讀 2752·2019-08-29 13:12
閱讀 2625·2019-08-26 17:04
閱讀 2391·2019-08-26 13:22