jupyterLab學習第五天

2022-06-17 08:36:12 字數 3182 閱讀 4353

前面爬取了拉勾網的資訊,然後想繼續類別拓展試著去爬取別的**,於是選擇了爬取去哪兒的自由行

首先是進行網頁的分析

經過對比hotel.json包含了頁面的20個酒店資訊,而shopping16049736136513907.json只有列表中第乙個酒店的資訊,可知我們要爬取的是hotel.json

但是按照我們前面爬取拉勾網的方法爬取hotel.json時出現了以下錯誤:

import requests

url = '

'def get_json(url, num):

"""從指定的url中通過requests請求攜帶請求頭和請求體獲取網頁中的資訊,

:return

:

""" url1 = '

'headers =

data =

s =requests.session()

print(

'建立session:

', s, '

\n\n')

s.get(url=url1, headers=headers, timeout=3

) cookie =s.cookies

print(

'獲取cookie:

', cookie, '

\n\n')

res = requests.post(url, headers=headers, data=data, cookies=cookie, timeout=6

) res.raise_for_status()

res.encoding = '

utf-8

'page_data =res.json()

print(

'請求響應結果:

我才可能是由反爬的東西,但是目前我初學還解決不了

但是我爬取shopping16049736136513907.json卻成功了

import requests

import math

import time

import pandas

aspd

import json

def get_json(url):

"""從指定的url中通過requests請求攜帶請求頭和請求體獲取網頁中的資訊,

:return

:

""" url1 = '

'headers =

data =

s =requests.session()

print(

'建立session:

', s, '

\n\n')

s.get(url=url1, headers=headers, timeout=3

) cookie =s.cookies

print(

'獲取cookie:

', cookie, '

\n\n')

res = requests.post(url, headers=headers, data=data, cookies=cookie, timeout=3

) res.raise_for_status()

res.encoding = '

utf-8

'page_data =res.json()

return

page_data

def get_page_info(jobs_list):

"""獲取職位

:param jobs_list:

:return

:

""" page_info_list =

for i in

jobs_list:

job_info =

'depcity'])

for j in i['

reslist

']:

'name'])

'grade'])

'address

']+j['

locationinfo'])

'in'])

'out'])

'room_type'])

for k in j['

rooms']:

'finalprice'])

return

page_info_list

def main():

url = '

'# 獲取每一頁的職位相關的資訊

page_data =get_json(url) # 獲取響應json

total_page_count = page_data['

data

']['

totalprice']

jobs_list = page_data['

data

']['

hotels']

page_info =get_page_info(jobs_list)

num=30

print(

"python開發相關職位總數:{},總頁數為:{}

".format(total_page_count, num))

print(

"每一頁python相關的職位資訊:%s

學習第五天

清楚測試用例是什麼 測試用例的重要性 有效性 測試用例是測試人員測試過程中的重要參考依據,準確的測試用例的計畫 執行和跟蹤是 測試的有效性的有力證明 可復用性 設計良好的測試用例可以重複執行,能節約時間,提高測試效率 易組織性 清晰詳細的測試用例能夠便於測試執行的開展 可評估性 測試用例的通過率是檢...

Java學習第五天

當類載入器需要載入某個類時,類載入器會在載入初始化後生成該類的乙個類物件 class 用於描述該類的元資料資訊等。在其後的連線過程中,會初始化該類的靜態成員 變數或靜態初始化器 靜態初始化變數和初始化器按照先後順序執行初始化。例如 static int a 10 static 這樣初始化後a 100...

C 學習第五天

c 中的is和as is可用於任何型別。例如 int a 10 a is object true object o 10 o is int true o person o is int false as右側型別必須為引用型別或可空型別。as操作如果失敗,不丟擲異常,而是返回null 結構 struc...