scrapy 第一個案例(爬取騰訊招聘職位信息)

import scrapy
import jsonclass TzcSpider(scrapy.Spider):# spider的名字,唯一name = 'tzc'# 起始地址start_urls = ['https://hr.tencent.com/position.php?keywords=python&tid=0&lid=2268']# 每個url爬取之后會調用這個方法def parse(self, response):tr = response.xpath( '//table[@class="tablelist"]/tr[@class = "even"]|//table[@class="tablelist"]/tr[@class = "odd"]')with open('info.json','a') as f:for i in tr:data = {"jobName": i.xpath('./td[1]/a/text()').extract_first(),"jobType":i.xpath('./td[2]/text()').extract_first(),"Num":i.xpath('./td[3]/text()').extract_first(),"Place":i.xpath('./td[4]/text()').extract_first(),"Time":i.xpath('./td[5]/text()').extract_first()}data = json.dumps(data,ensure_ascii=False)f.write(data)f.write('\n')# 尋找下一頁標簽url_next = response.xpath('//a[@id = "next"]/@href').extract_first()# 提取的是段標簽,需要加上域名url_next = 'https://hr.tencent.com/{}'.format(url_next)# 返回下一頁地址,scrapy會遞歸return scrapy.Request(url_next)

?

轉載于:https://www.cnblogs.com/cxhzy/p/10299696.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/248610.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/248610.shtml
英文地址,請注明出處:http://en.pswp.cn/news/248610.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

系統帶你學習 WebAPIs 第一講

Web APIs 本篇學習目標: 能夠通過ID來獲取元素 能夠通過標簽名來獲取元素 能夠通過class來獲取元素 能夠通過選擇器來獲取元素 能夠獲取body和html元素 能夠給元素注冊事件 能夠修改元素的內容 能夠區分innerText和innerHTML的區別 能夠修改像div這類普通元素的屬性…

react-webpack config webpack@3.4.1

1.最重要的一點 yarn add webpack3.4.1 -g 2. 解決跨域請求 webpack.json 中添加 https://segmentfault.com/q/1010000008190876?_ea1579884 webpack config less -----框架 ----查看考鏈接 https://blog.csdn.net/mjzhang1993/article/details/79013430轉載于:https://w…

系統帶你學習 WebAPIs 第二講

Web APIs 本篇學習目標: 能夠說出排他操作的一般實現步驟 能夠使用html5中的dataset方式操作自定義屬性 能夠根據提示完成百度換膚的案例 能夠根據提示完成全選案例 能夠根據提示完成tab欄切換案例 能夠區分元素節點、文本節點、屬性節點 能夠獲取指定元素的父元素 …

在微信瀏覽器中 location.reload() 不刷新解決方案(直接調用方法)

1、問題 在微信瀏覽器中,需要時刷新當前頁面。 正常情況下我們直接使用 location.reload 方法來刷新。 2、解決方法 function realod(){var {search,href} window.location;href href.replace(/&?t_reload(\d)/g,)window.location.href href(search?&:…

Python爬蟲學習筆記1:request、selenium、ChromeDrive、GeckoDriver等相關依賴安裝

系列學習筆記參考:python3網絡爬蟲開發實戰 requests # pip install requests import requestsselenium Selenium是一個自動化測試工具,利用它我們可以驅動瀏覽器執行特定的動作,如點擊、下拉等 操作 。 對于一些 JavaScript誼染的頁面來說&a…

系統帶你學習 WebAPIs 第三講

Web APIs 本篇學習目標: 能夠使用removeChild()方法刪除節點 能夠完成動態生成表格案例 能夠使用傳統方式和監聽方式給元素注冊事件 能夠說出事件流執行的三個階段 能夠在事件處理函數中獲取事件對象 能夠使用事件對象取消默認行為 能夠使用事件對象阻止事件冒泡 能…

CSS3文本與字體

一、CSS3 換行 1、word-break(規定自動換行的處理方法) word-break: normal / break-all / keep-all;/* normal:使用瀏覽器默認的換行規則 break-all:允許在單詞內換行 keep-all:只能在半角空格或連字符處換行 */ 兼容…

系統帶你學習 WebAPIs 第四講

Web APIs 本篇學習目標: 能夠說出常用的3-5個鍵盤事件 能夠知道如何獲取當前鍵盤按下的是哪個鍵 能夠知道瀏覽器的頂級對象window 能夠使用window.onload事件 能夠使用window.onresize事件 能夠說出兩種定時器的區別 能夠使用location對象的href屬性完成頁面之間的跳…

linux chrome 安裝過程記錄

最近,由于公司需要做爬蟲抓取一些新聞,在開發過程中,發現有些網站有一定的反爬措施,通過瀏覽器訪問一切正常,通過其他方式,包括:curl,urlconnection 等,就算加入了cookie…

系統帶你學習 WebAPIs 第五講

Web APIs 本篇學習目標: 能夠說出常見 offset 系列屬性的作用 能夠說出常見 client 系列屬性的作用 能夠說出常見 scroll 系列屬性的作用 能夠封裝簡單動畫函數 **1.1. **元素偏移量 offset 系列 1.1.1 offset 概述 offset 翻譯過來就是偏移量, 我們使用 offset系…

ajax請求相關問題

Ajax中async:false/true的作用: async. 默認是 true,即為異步方式,$.ajax執行后,會繼續執行ajax后面的腳本,直到服務器端返回數據后,觸發$.ajax里的success方法,這時候執行的是兩個線程。 async…

有贊美業微前端的落地總結

2020年4月,有贊美業的前端團隊歷經7個月時間,完成了美業PC架構從單體SPA到微前端架構的設計、遷移工作。PPT在去年6月份就有了,現在再整理一下形成文章分享給大家。 頭圖 目錄 Part 01 “大話”微前端 微前端是什么 背景 目標 達成價值 …

bcp文件, 逗號文件

bcp 實用工具 https://docs.microsoft.com/zh-cn/sql/tools/bcp-utility?viewsql-server-2017 大容量復制程序實用工具 (bcp) 可以在 Microsoft SQL Server 實例和用戶指定格式的數據文件間大容量復制數據。 使用 bcp 實用工具可以將大量新行導入 SQL Server 表,或…

遠程登錄和復制文件

命令: ssh 對應英文: secure shell 使用: ssh [-P] 用戶名ip 優點: 加密和壓縮,即安全和提高傳輸速度 注意: 除了windows系統外的系統默認有ssh客戶端,直接使用命令便可; windows系統…

Markdown 編輯器才是yyds|CSDN編輯器測評

前言 今天小編為大家介紹一款編輯器,也正是小編書寫這篇文章所使用的Markdown編輯器,正是廣大博友想要發布文章的工具。那么 你知道他的都有哪些方便之處么 下面小編帶你了解一下 Markdown是什么 Markdown是一種輕量標記語言,通過簡單的語法&#xff…

JVM對象已死

(一) 引用計數法 每有一個引用就加1,每失效一個就減1,為0表示可回收;但是此方法無法解決相互引用的情況 (二) 根搜索算法 從一系列的GCRoots對象為起點向下搜索,搜索的路徑稱為引用鏈,當一個對象沒有任何引…

pcl和opencv多版本共存

pcl和opencv多版本共存 在Ubuntu 16.04系統下安裝kinetic版本ROS, 會默認安裝opencv 3.3.1和pcl1.7. opencv安裝路徑/opt/ros/kinetic/ pcl安裝路徑/usr/ 如果想安裝opencv2.4版本,或者安裝pcl 1.8版本,那么如何設置安裝路徑,同時…

45天帶你玩轉Node(第三天)Node環境安裝

本篇目標 能夠搭建 Node 運行環境掌握 NodeJS 程序的運行方法理解模塊化開發理解系統模塊和第三方模塊理解package.json文件作用 1.Node 開發概述 1.1為什么要學習服務器端開發技術 前端人員為什么要學習服務器端開發技術? 能夠和后端程序員更加緊密的配合網站…

給頁面加速,干掉Dom Level 0 Event

現在的web應用越來越復雜,需要響應各種各樣的用戶觸發事件,因而也就不可避免的,需要給我們的html頁面上的dom元素增加事件監聽函數. 我們知道給dom元素綁定事件監聽函數的方法有如下3種: 1 : 頁面html: <button onclick”test();”></button>2: 頁面html: <bu…

系統帶你學習 WebAPIs —— 動畫篇(第六講)

Web APIs 本篇學習目標: 能夠封裝簡單動畫函數 能夠理解緩動動畫的封裝 能夠使用動畫函數 能夠寫出網頁輪播圖案例 能夠寫出移動端觸屏事件 1.1. 動畫函數封裝 1.1.1 緩動效果原理 緩動動畫就是讓元素運動速度有所變化&#xff0c;最常見的是讓速度慢慢停下來 思路&#xff…