Rquests

1
2
3
4
5
6
import requests
response = requests.get("http://book.")
if response.ok:
print(response.text)
else:
print("请求失败+")

image-20230410190126855

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
int waiting = 0; // 等候理发师 顾客坐的椅子数
int CHAIRS = N; // 为顾客准备的椅子数
semaphore customers = 0; // 等候的顾客数
semaphore barbers = 0; // 空闲的理发师数
semaphore mutex = 1; // 互斥信号量,保证waiting++操作完整进行

cobegin
process barber() { // 理发师
while(true) {
P(customers); // 有顾客吗?若无顾客,理发师睡眠
P(mutex); // 保证waiting--完整进行
// 若有顾客时,进入临界区
waiting--; // 等候区顾客数减一
V(barbers); // 理发师准备为顾客理发
V(mutex);
cut_hair(); // 理发师正在理发(非临界区)
}
}

process customer_i() { // 顾客
P(mutex); // 进入临界区
if(waiting < CHAIRS) { // 有空椅子
waiting++; // 等候顾客加一
V(customers); // 唤醒理发师
V(mutex); // 退出临界区
P(barbers); // 理发师忙,顾客坐下等待
get_haircut();// 否则顾客坐下理发
} else
V(mutex); // 没椅子,顾客走人
}-

image-20230410204213213

image-20230410204304068

image-20230410204407459

image-20230410204542932

image-20230410205255352

image-20230410205511577

image-20230410205727276

image-20230410210324001

伪装请求头

User-Agent:User-Agent其实就是你的浏览器信息。是一种向访问网站提供你所使用的浏览器类型及版本、操作系统及版本、浏览器内核、等信息的标识。通过这个标 识,用户所访问的网站可以显示不同的排版从而为用户提供更好的体验或者进行信息统计;
  在爬取网页的时候经常换浏览器就会降低被封的概率。也就是要改变User-Agent的值。

生成随机的User-Agent:
首先 在环境中 pip  install fake_useragent

1
2
3
headers = {
"User-Agent" :
}