自動登陸抽屜並點贊多頁(3)

2022-05-03 19:51:10 字數 2559 閱讀 6012

先獲取整個頁面

import

requests

response_index =requests.get(

url='

',headers=

)print(response_index.text)

print輸出效果如下:

初步分析抽屜熱搜標題頁面,可以看出所有標題位於id為content-list的div下面

我們先解析出所有li標籤的位置

soup = beautifulsoup(response_index.text, '

html.parser')

div = soup.find(attrs=)

然後再找出所有的li標籤

items = div.find_all(attrs=)
再分析標題所在的位置

列印出每個標題的id

for item in items:

tag = (item.find(attrs=))

nid = tag.get('share-linkid')

print(nid)

此時,print出所有標題的id

# 先訪問抽屜最熱幫,獲取cookie(未授權的)

r1 = requests.get(

url='',

headers=

)r1_cookie_dict = r1.cookies.get_dict()

# 傳送使用者名稱和密碼認證 + cookie(未授權)

# 注意:防爬蟲策略

response_login = requests.post(

url='login',

data=,

headers=,

cookies=r1_cookie_dict

)response_index = requests.get(

url='',

headers=

)soup = beautifulsoup(response_index.text, 'html.parser')

div = soup.find(attrs=)

items = div.find_all(attrs=)

for item in items:

tag = (item.find(attrs=))

nid = tag.get('share-linkid')

print(nid)

# 根據每個新聞id進行點讚

r1 = requests.post(

url='link/vote?linksid=%s' % nid,

headers=,

cookies=r1_cookie_dict

)print(r1.text)

登入上抽屜,檢視頁面,可以發現已經自動完成單頁點讚了

咱們再來看下翻頁。

for page_num in range(1,3):     # 對第1到第3頁進行點讚

response_index = requests.get(

url='all/hot/recent/%s' % page_num,

headers=

)soup = beautifulsoup(response_index.text, 'html.parser')

div = soup.find(attrs=)

items = div.find_all(attrs=)

for item in items:

tag = (item.find(attrs=))

nid = tag.get('share-linkid')

print(nid)

# 根據每個新聞id進行點讚

r1 = requests.post(

url='link/vote?linksid=%s' % nid,

headers=,

cookies=r1_cookie_dict

)print(r1.text)

效果如下

這個**有很多可以改善的地方,這裡不多講述。

自動登陸 Cookie

再來兩句 cookie是由servlet api提供的類,是web伺服器傳送給客戶端的一小段資訊。客戶端在請求時,可以讀取資訊併發送到伺服器端,cookie中包含多個名稱 值對,伺服器傳送乙個cookie時,客戶端可以接受並儲存這個cookie。伺服器可以設定cookie的名稱 值 存活時間以及版本...

filter 自動登陸

filter過濾器filter 篩請求的 快速入門 filter攔截之後需要放行才能訪問到相應的資源位址,不然就執行完dofilter方法後停止 public class quickfilter implements filter public void dofilter servletreques...

ssh自動登陸

突然碰到有人問ssh再傳輸金鑰時候能不手動輸入密碼,由於沒有碰到過這種情況,所以查了一下發現可以用sshpass做到。sshpass 引數 ssh命令 引數 p password 將引數password作為密碼 f passwordfile 提取passwordfile的第一行作為密碼 e 將環境變...