使用requests或scrapy爬取拉勾動態資料

2021-09-24 11:54:49 字數 2328 閱讀 6299

import requests

import time

headers =

session = requests.session(

)# session會話保持

session.headers.update(headers)

# 更新headers

# get請求的位址為headers裡面的 「referer」的位址

session.get(

'')data =

'''位址注意不要寫錯了

'''r1 = session.post(url=

'?city=%e5%8c%97%e4%ba%ac&needaddtionalresult=false'

, headers=headers,

data=data)

# print(r1.json())

data = r1.json(

)for result in data[

'content'][

'positionresult'][

'result']:

# json資料提取

print

(result[

'positionname'

].strip())

# 爬取​職位名稱

print

(result[

'salary'])

# 爬取職位薪資

time.sleep(

1)

import time

import scrapy

import json

class

lagouspider

(scrapy.spider)

: name =

'lagou'

allowed_domains =

['www.lagou.com'

]# start_urls = ['']

# 重寫 start_requests 方法

defstart_requests

(self)

: headers =

yield scrapy.request(

'',# meta= 開啟cookie記錄

headers=headers, meta=

, callback=self.do_post)

defdo_post

(self, response)

:# 響應cookie

cookie1 = response.headers.getlist(

'set-cookie'

)# print(cookie1)

# print(response.text)

# city=**** 這裡是選擇的城市 可以去掉也就是全國 可以在瀏覽器中測試一下

post_url =

'?city=%e5%8c%97%e4%ba%ac&needaddtionalresult=false'

headers =

for i in

range(1

,7):

# 這裡我只爬取了6頁

data =

yield scrapy.formrequest(

url=post_url,

formdata=data, headers=headers,

# 攜帶cookie

meta=

, callback=self.parse)

defparse

(self, response)

:# 請求cookie

cookie2 = response.request.headers.getlist(

'cookie'

)# print(cookie2)

# print(response.text)

# 將文字解析為json格式

data = json.loads(response.text)

for result in data[

'content'][

'positionresult'][

'result']:

# json資料提取

print

(result[

'positionname'

].strip())

print

(result[

'salary'])

time.sleep(

1)

爬蟲 Requests 使用入門

linuxalias命令用於設定指令的別名。home目錄中 bashrc 這個檔案主要儲存個人的一些個性化設定,如命令別名 路徑等。注意 1,寫絕對路徑 2,有空格 改好後使用source bashrc 使用檔案生效 assert response.status code 200 assert re...

python爬蟲 使用requests

前面了解了urllib的基本用法,但是其中確實有不方便的地方。比如處理網頁驗證 處理cookies等等,需要寫 opener handler 來進行處理。為了更加方便地實現這些操作,在這裡就有了更為強大的庫requests,有了它,cookies 登入驗證 設定等等的操作都不是事兒。import r...

requests庫的使用

import requests 引用模組 帶引數請求 get引數例項 requests.get params 或url payload accept encoding gzip accept language zh cn,zh q 0.8 referer res1 requests.get url,...