در این مطلب، ویدئو آموزش خراش دادن وب برای مبتدیان: سوپ زیبا، نمایشنامه نویس و پایتون با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:32:06
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:01,280 –> 00:00:04,400
[موسیقی]
2
00:00:04,400 –> 00:00:06,560
سلام خوش آمدید، امروز
3
00:00:06,560 –> 00:00:08,559
مقدمهای برای اسکراپینگ وب مرور
4
00:00:08,559 –> 00:00:10,559
میکنیم، با
5
00:00:10,559 –> 00:00:13,440
حذف دستی فهرست پرفروشهای نیویورک تایمز و
6
00:00:13,440 –> 00:00:15,360
تجزیه آن در پایتون با استفاده از
7
00:00:15,360 –> 00:00:17,279
لباس زیبا شروع میکنیم، سپس کاری که ما انجام خواهیم داد این است که
8
00:00:17,279 –> 00:00:19,359
این را افزایش داده و با استفاده از ابزاری
9
00:00:19,359 –> 00:00:21,199
به نام نمایشنامهنویس نمایشنامهنویس آن را
10
00:00:21,199 –> 00:00:23,359
خودکار میکنم، یک ابزار اتوماسیون مرورگر است که به شما امکان میدهد
11
00:00:23,359 –> 00:00:25,439
یک مرورگر بدون هد ایجاد کنید و
12
00:00:25,439 –> 00:00:27,760
بسیاری از اقدامات را بهطور خودکار انجام دهید.
13
00:00:27,760 –> 00:00:30,880
14
00:00:30,880 –> 00:00:32,960
15
00:00:32,960 –> 00:00:35,600
بسیار بسیار موثر عمل می کند
16
00:00:35,600 –> 00:00:37,760
که امروز خواهید دید، بنابراین
17
00:00:37,760 –> 00:00:40,160
بیایید جلو برویم و
18
00:00:40,160 –> 00:00:42,239
وارد لیست پرفروش های نیویورک تایمز
19
00:00:42,239 –> 00:00:44,640
شویم، اساساً فهرستی از
20
00:00:44,640 –> 00:00:47,760
محبوب ترین کتاب ها را بر اساس فروش هر هفته ارائه می دهد و
21
00:00:47,760 –> 00:00:50,160
این در طول زمان تغییر می کند و این یک
22
00:00:50,160 –> 00:00:52,879
منبع بسیار محبوب برای یافتن کتابهای جدید برای خواندن است،
23
00:00:52,879 –> 00:00:54,559
بنابراین ممکن است بخواهیم این را پاکسازی کنیم تا
24
00:00:54,559 –> 00:00:56,160
بفهمیم کدام کتابها را میخواهیم
25
00:00:56,160 –> 00:00:58,559
بخوانیم یا کتابهای پرفروش یا بسیاری
26
00:00:58,559 –> 00:01:00,559
از دلایل دیگر را نمودار کنیم و برای انجام این کار ما
27
00:01:00,559 –> 00:01:02,079
اساساً
28
00:01:02,079 –> 00:01:04,479
باید از مشاهده این صفحه در مرورگر ما
29
00:01:04,479 –> 00:01:06,400
به دریافت واقعی داده های ساختاریافته
30
00:01:06,400 –> 00:01:08,400
از این صفحه بروید و چند دلیل وجود دارد
31
00:01:08,400 –> 00:01:10,720
که ممکن است بخواهید صفحه را خراش دهید، بنابراین
32
00:01:10,720 –> 00:01:13,119
یکی از دلایل این است که
33
00:01:13,119 –> 00:01:15,920
تجزیه دستی این فیلدها به درستی واقعاً دشوار است.
34
00:01:15,920 –> 00:01:17,439
شما میتوانید همه این
35
00:01:17,439 –> 00:01:19,040
عناوین را کپی و جایگذاری کنید، همه
36
00:01:19,040 –> 00:01:20,720
توضیحات را در یک صفحه گسترده کپی و جایگذاری کنید، اما
37
00:01:20,720 –> 00:01:23,040
این بسیار آزاردهنده است و انجام مداوم آن بسیار سخت است،
38
00:01:23,040 –> 00:01:25,119
همچنین گاهی اوقات میتوانید از
39
00:01:25,119 –> 00:01:27,119
api استفاده کنید، در این مورد New
40
00:01:27,119 –> 00:01:28,880
York Times یک api برای بهترین حالت خود دارد.
41
00:01:28,880 –> 00:01:30,880
لیست فروشندگان، اما استفاده از آن کمی سخت
42
00:01:30,880 –> 00:01:33,040
تر از خراش دادن مستقیم است، بنابراین
43
00:01:33,040 –> 00:01:34,880
خراش دادن وب به شما امکان می دهد داده
44
00:01:34,880 –> 00:01:37,439
هایی را دریافت کنید که در وب سایت هایی هستند که
45
00:01:37,439 –> 00:01:39,439
کار کردن با آنها یا دسترسی به آنها در غیر این صورت دشوار است
46
00:01:39,439 –> 00:01:41,200
و زمانی که در حال خراش دادن وب هستید، یکی از کارهایی که
47
00:01:41,200 –> 00:01:43,200
می خواهید انجام دهید این است. میخواهید فقط
48
00:01:43,200 –> 00:01:45,640
به وبسایت بروید و
49
00:01:45,640 –> 00:01:49,200
فایل robots.txt را دوباره بررسی کنید تا این فایل به شما بگوید که
50
00:01:49,200 –> 00:01:51,360
چه چیزی را میتوانید و چه چیزی را نمیتوانید خراش دهید، بنابراین در این
51
00:01:51,360 –> 00:01:52,640
مورد من
52
00:01:52,640 –> 00:01:54,479
کل فایل را مرور نمیکنم، اما میگوید که این فایل اصلی است. ally
53
00:01:54,479 –> 00:01:56,719
بخشهایی غیر مجاز دارد که میگویند
54
00:01:56,719 –> 00:01:58,880
این چیزها را خراش ندهید و در این
55
00:01:58,880 –> 00:02:00,479
مورد چیزی که میخواهیم خراش دهیم در
56
00:02:00,479 –> 00:02:02,640
این لیست نیست، بنابراین ما خوب هستیم که برویم و بیایید
57
00:02:02,640 –> 00:02:06,759
برویم و شروع به خراشیدن کنیم،
58
00:02:08,080 –> 00:02:10,000
ابتدا این کار را به صورت دستی انجام میدهیم.
59
00:02:10,000 –> 00:02:12,160
html را به صورت دستی خراش
60
00:02:12,160 –> 00:02:14,160
میدهیم و سپس آن را در پایتون تجزیه میکنیم و
61
00:02:14,160 –> 00:02:15,680
بعداً به شما نشان میدهم که چگونه
62
00:02:15,680 –> 00:02:17,760
این فرآیند را با نمایشنامهنویس که یک
63
00:02:17,760 –> 00:02:19,440
چارچوب اتوماسیون مرورگر است، خودکار کنید، بنابراین
64
00:02:19,440 –> 00:02:20,640
اولین کاری که میخواهیم
65
00:02:20,640 –> 00:02:22,800
html را به صورت دستی خراش دهیم این است که حق با ماست. کلیک کنید
66
00:02:22,800 –> 00:02:25,440
من از کروم استفاده می کنم و inspect را می زنیم و
67
00:02:25,440 –> 00:02:27,840
کاری که انجام می دهد این است که بازرس کروم را باز می کند
68
00:02:27,840 –> 00:02:29,760
و این ابزار به شما امکان می
69
00:02:29,760 –> 00:02:32,480
دهد html صفحه را ببینید اگر
70
00:02:32,480 –> 00:02:34,720
با نحوه رندر شدن صفحات وب آشنا
71
00:02:34,720 –> 00:02:37,040
نیستید اساساً یک فایل html را دانلود می کنید. از
72
00:02:37,040 –> 00:02:39,519
یک سرور و سپس مرورگر شما
73
00:02:39,519 –> 00:02:41,680
آن فایل را در صفحات وبی که می
74
00:02:41,680 –> 00:02:43,280
بینید رندر می کند، بنابراین ما در واقع به
75
00:02:43,280 –> 00:02:46,400
کد html که این صفحه وب را تعریف می کند نگاه می کنیم و
76
00:02:46,400 –> 00:02:48,000
همانطور که
77
00:02:48,000 –> 00:02:50,400
در این کد html حرکت می کنیم، کروم به طور خودکار
78
00:02:50,400 –> 00:02:52,480
بخشی را که در آن شرکت می باشد برجسته می کند. de
79
00:02:52,480 –> 00:02:54,480
مطابقت دارد، بنابراین می توانید ببینید همانطور که ما در اطراف حرکت می کنیم،
80
00:02:54,480 –> 00:02:55,680
بخش های مختلف
81
00:02:55,680 –> 00:02:58,000
برجسته می شوند، بنابراین در این مورد می خواهیم
82
00:02:58,000 –> 00:03:00,640
این عنصر را بگیریم زیرا این عنصر
83
00:03:00,640 –> 00:03:03,200
این عنصر ol شامل تمام
84
00:03:03,200 –> 00:03:05,360
کتاب هایی است که می خواهیم، بنابراین اگر به پایین اسکرول کن
85
00:03:05,360 –> 00:03:07,440
م می بینیم که لیستی از این عنصر وجود دارد. 15 کتاب و
86
00:03:07,440 –> 00:03:09,680
عنصر ol شامل همه آنهاست، بنابراین
87
00:03:09,680 –> 00:03:12,000
ما می توانیم این عنصر ol را هایلایت کنیم و
88
00:03:12,000 –> 00:03:14,560
سپس کلیک راست کرده و گزینه copy را بزنید و
89
00:03:14,560 –> 00:03:16,800
html خارجی را کپی می کنیم که اساساً به معنای
90
00:03:16,800 –> 00:03:18,480
کپی کردن همه چیز است، بنابراین من آن را کپی می
91
00:03:18,480 –> 00:03:19,920
کنم و سپس کاری که انجام خواهیم داد. این است که ما
92
00:03:19,920 –> 00:03:22,400
به Jupyter lab تغییر مکان می دهیم و
93
00:03:22,400 –> 00:03:25,519
یک فایل html جدید ایجاد می کنیم. اکنون jupyter
94
00:03:25,519 –> 00:03:27,040
lab کمی عجیب است که به شما اجازه می دهیم
95
00:03:27,040 –> 00:03:29,120
html را مستقیما ویرایش کنید، بنابراین ما در واقع
96
00:03:29,120 –> 00:03:30,159
یک
97
00:03:30,159 –> 00:03:32,799
فایل متنی ایجاد می کنیم و سپس نام آن را به نقطه دستی تغییر می دهیم
98
00:03:32,799 –> 00:03:33,760
.
99
00:03:33,760 –> 00:03:35,360
html
100
00:03:35,360 –> 00:03:37,440
و به آن دستی می گویند زیرا
101
00:03:37,440 –> 00:03:39,440
نتیجه صفحه وب دستی ما است و سپس
102
00:03:39,440 –> 00:03:41,519
وقتی روی آن دوبار کلیک می کنیم یا می بینیم که
103
00:03:41,519 –> 00:03:44,799
jupyter این را برای ما ارائه می دهد بنابراین می بینیم
104
00:03:44,799 –> 00:03:46,959
که ما این 15 کتاب را
105
00:03:46,959 –> 00:03:49,040
از صفحه خارج کردیم کاملاً قدم بعدی ما این است. تا
106
00:03:49,040 –> 00:03:50,959
بفهمیم چگونه واقعی این را در پایتون تجزیه کنید
107
00:03:50,959 –> 00:03:53,120
زیرا کاری که ما نمیخواهیم انجام دهیم این
108
00:03:53,120 –> 00:03:55,439
است که باید هر قطعه را به صورت دستی
109
00:03:55,439 –> 00:04:00,040
از این لیست خارج
110
00:04:00,879 –> 00:04:03,920
کنیم، بنابراین گام بعدی ما این است که
111
00:04:03,920 –> 00:04:06,159
در واقع بفهمیم چگونه این صفحه وب را تجزیه کنیم
112
00:04:06,159 –> 00:04:08,400
و انجام دهیم. که من قصد دارم
113
00:04:08,400 –> 00:04:11,200
یک نوت بوک جدید jupyter python 3 ایجاد
114
00:04:11,200 –> 00:04:13,360
کنم و به آن یک وب اسکریپت می گویند،
115
00:04:13,360 –> 00:04:15,439
می دانید چرا نه، بنابراین کاری که
116
00:04:15,439 –> 00:04:17,358
در این مورد می خواهیم انجام دهیم این است که از
117
00:04:17,358 –> 00:04:19,440
بسته ای به نام سوپ زیبا و
118
00:04:19,440 –> 00:04:22,000
زیبا استفاده خواهیم کرد. soup یک بسته پایتون است که به
119
00:04:22,000 –> 00:04:23,440
شما امکان میدهد
120
00:04:23,440 –> 00:04:25,919
html xml بسیاری از فرمتهای مختلف دیگر را تجزیه
121
00:04:25,919 –> 00:04:28,560
کنید و
122
00:04:28,560 –> 00:04:30,400
دستورالعملهایی برای نصب آن در سندی که من
123
00:04:30,400 –> 00:04:32,880
به اشتراک گذاشتم وجود دارد، اما به این صورت است که شما
124
00:04:32,880 –> 00:04:35,440
از bs4 import suit زیبا وارد میکنید و سپس
125
00:04:35,440 –> 00:04:37,840
کاری که ما انجام میدهیم این است که ما ما
126
00:04:37,840 –> 00:04:40,600
صفحه html خود را که به تازگی ایجاد کردیم به نام
127
00:04:40,600 –> 00:04:42,800
manual.html باز می کنیم، آن را در حالت خواندن باز می کنیم
128
00:04:42,800 –> 00:04:45,120
که همان نوار است
129
00:04:45,120 –> 00:04:46,880
و سپس آن را در
130
00:04:46,880 –> 00:04:48,800
این صفحه متغیر می خوانیم
131
00:04:48,800 –> 00:04:51,280
تا صفحه برابر با f dot read شود. بنابراین ما می توانیم
132
00:04:51,280 –> 00:04:53,120
جلو برویم و این کار را انجام دهیم و می توانیم ببینیم صفحه
133
00:04:53,120 –> 00:04:55,520
حاوی html است کدی را که
134
00:04:55,520 –> 00:04:58,320
قبلاً کپی و جایگذاری کردیم، اکنون میتوانیم ادامه دهیم
135
00:04:58,320 –> 00:05:00,479
و قسمت سرگرمکننده آن را تجزیه کنیم،
136
00:05:00,479 –> 00:05:02,639
بنابراین یک تجزیهکننده سوپ زیبا را به این ترتیب مقداردهی اولیه
137
00:05:02,639 –> 00:05:04,000
138
00:05:04,000 –> 00:05:05,039
139
00:05:05,039 –> 00:05:07,680
میکنیم، بنابراین کلاس سوپ زیبا را فراخوانی
140
00:05:07,680 –> 00:05:09,680
میکنیم و سپس وارد صفحه میشویم که html ما است.
141
00:05:09,680 –> 00:05:12,240
کد و سپس به آن می گوییم که از یک
142
00:05:12,240 –> 00:05:14,479
دوره آموزشی html استفاده کند،
143
00:05:14,479 –> 00:05:16,400
بنابراین ما اساساً می گوییم
144
00:05:16,400 –> 00:05:19,039
هی من به شما html دادم، بنابراین مطمئن شوید که
145
00:05:19,039 –> 00:05:21,520
آن را به عنوان html تجزیه می کنید، بنابراین بیایید ادامه دهیم و
146
00:05:21,520 –> 00:05:23,840
آن را اجرا کنیم و سپس چیزی که به دست می آوریم این
147
00:05:23,840 –> 00:05:27,280
سوپ متغیر است که بسیار زیبا است.
148
00:05:27,280 –> 00:05:29,759
نمونه سوپ که به ما امکان میدهد html خود را تجزیه
149
00:05:29,759 –> 00:05:32,080
کنیم، در حال حاضر کار زیادی انجام نمیدهد، اما
150
00:05:32,080 –> 00:05:33,680
کارهای بسیار جالبی وجود دارد
151
00:05:33,680 –> 00:05:37,320
که میتوانیم با آن انجام دهیم
152
00:05:38,000 –> 00:05:40,000
تا به شما نشان دهیم که اجازه دهید به
153
00:05:40,000 –> 00:05:43,199
html واقعی برگردم و میتوانیم ببینیم چه چیزی را
154
00:05:43,199 –> 00:05:44,960
میخواهیم تجزیه کنیم. با سوپ زیبا
155
00:05:44,960 –> 00:05:46,560
خیلی خوب است، پس بیایید روی آن کلیک راست
156
00:05:46,560 –> 00:05:48,880
کنیم و دوباره بازرس کروم را بالا می
157
00:05:48,880 –> 00:05:52,320
بریم تا
158
00:05:52,320 –> 00:05:54,800
ببینیم این برچسب لیست قدیمی است که از صفحه خود حذف کرده ایم
159
00:05:54,800 –> 00:05:57,120
و می توانیم ببینیم که حاوی مقدار زیادی
160
00:05:57,120 –> 00:06:00,479
لی است. عناصر بنابراین اینها آیتم های لیست هستند و
161
00:06:00,479 –> 00:06:03,120
می توانید ea را ببینید کتاب ch یک متحد
162
00:06:03,120 –> 00:06:05,199
جداگانه یک آیتم لیست جداگانه است و می توانید
163
00:06:05,199 –> 00:06:07,520
در داخل آن آیتم های لیست مشاهده کنید که ما این
164
00:06:07,520 –> 00:06:09,520
برچسب مقاله را داریم و این برچسب مقاله
165
00:06:09,520 –> 00:06:11,360
حاوی بیشتر اطلاعات
166
00:06:11,360 –> 00:06:13,759
مربوط به کتاب است که حاوی عنوان است که
167
00:06:13,759 –> 00:06:16,560
در این تگ h3 وجود دارد و حاوی نویسنده است.
168
00:06:16,560 –> 00:06:18,400
اینجا است و حاوی
169
00:06:18,400 –> 00:06:20,400
ناشر است، توضیحات پایینتر را نیز دارد
170
00:06:20,400 –> 00:06:22,080
و اگر به پایینتر نگاه کنید
171
00:06:22,080 –> 00:06:23,360
، اطلاعاتی در
172
00:06:23,360 –> 00:06:26,479
پاورقی مانند نشانی اینترنتی جلد و برخی موارد دیگر
173
00:06:26,479 –> 00:06:29,440
وجود دارد، بنابراین اساساً ما میخواهیم این
174
00:06:29,440 –> 00:06:32,000
عنصر مقاله را برای هر یک از این 15 کتاب انتخاب کنیم،
175
00:06:32,000 –> 00:06:33,680
زیرا این عنصر مقاله حاوی
176
00:06:33,680 –> 00:06:35,840
چیزی است که ما می خواهیم، بنابراین بیایید جلو برویم و ب
177
00:06:35,840 –> 00:06:38,400
زرس را ببندیم، x را در اینجا می زنم و اجازه ده
178
00:06:38,400 –> 00:06:40,639
د به نوت بوک خود بازگردیم و اس
179
00:06:40,639 –> 00:06:42,720
ساً کاری که می توانید با سوپ زیبا انجام دهید این اس
180
00:06:42,720 –> 00:06:46,000
که می توانید انتخابگرهای css را پاس کنید که
181
00:06:46,000 –> 00:06:48,639
اه هایی برای انتخاب فردی هستند. بر
182
00:06:48,639 –> 00:06:50,319
بنابراین در این مورد کاری که ما انجام میدهیم این است که
183
00:06:50,319 –> 00:06:52,160
ما این کد را اجرا میکنیم و
184
00:06:52,160 –> 00:06:55,360
این همه برچسبهای مقاله در html ما را انتخاب میکند،
185
00:06:55,360 –> 00:06:58,240
بنابراین اجازه دهید آن را اجرا کنیم و ما اکنون
186
00:06:58,240 –> 00:07:00,479
لیستی داریم که میتوانید در اینجا از همه کدها بگویید.
187
00:07:00,479 –> 00:07:02,880
برچسبهای مقاله شما، بنابراین اگر بخواهیم فقط به
188
00:07:02,880 –> 00:07:04,800
اولین مقاله نگاه کنیم، این
189
00:07:04,800 –> 00:07:06,400
فقط اولین مقاله را به ما میدهد و
190
00:07:06,400 –> 00:07:08,720
15 مقاله وجود دارد، بنابراین بدیهی است که میتوانیم
191
00:07:08,720 –> 00:07:10,639
اینجا را تکرار کنیم و هر ذره را ببینیم، بنابراین
192
00:07:10,639 –> 00:07:12,720
اگر بخواهیم کمی برویم، هر مقاله را انتخاب کنیم
193
00:07:12,720 –> 00:07:14,639
. کمی عمیقتر و ما
194
00:07:14,639 –> 00:07:18,400
میخواهیم هر تگ h3 را در مقاله خود انتخاب کنیم،
195
00:07:18,400 –> 00:07:20,000
کاری که انجام میدهیم این است که میگوییم خوب، میخواهیم
196
00:07:20,000 –> 00:07:21,919
هر ذره را انتخاب کنیم، سپس
197
00:07:21,919 –> 00:07:24,639
میخواهیم تگ h3 را در داخل آن مقاله انتخاب کنیم
198
00:07:24,639 –> 00:07:26,880
و اجازه دهید در مورد اینکه چرا میخواهیم این کار را انجام دهیم، صحبت
199
00:07:26,880 –> 00:07:29,199
کنیم. برای بازرس ما
200
00:07:29,199 –> 00:07:32,000
عنوان هر کتاب در این تگ h3
201
00:07:32,000 –> 00:07:34,080
با این ویژگی آیتم prop برابر با
202
00:07:34,080 –> 00:07:34,960
نام ذخیره می شود،
203
00:07:34,960 –> 00:07:37,440
بنابراین اگر آن را انتخاب کنیم، همه عناوین کتاب را انتخاب می کنیم،
204
00:07:37,440 –> 00:07:38,960
205
00:07:38,960 –> 00:07:41,360
بنابراین بیایید به دفترچه یادداشت خراش وب خود برگردیم
206
00:07:41,360 –> 00:07:43,280
و این کار را انجام دهیم تا
207
00:07:43,280 –> 00:07:45,280
هی میخواهیم تمام تگهای h3 را
208
00:07:45,280 –> 00:07:47,759
که در یک تگ مقاله
209
00:07:47,759 –> 00:07:49,759
هستند انتخاب کنیم و به طور خاص میخواهیم بگوییم که
210
00:07:49,759 –> 00:07:52,720
میخواهیم فقط تگهای h3 را انتخاب کنیم که دارای
211
00:07:52,720 –> 00:07:54,560
ویژگی آیتم prop هستند
212
00:07:54,560 –> 00:07:58,080
و در جایی که آن ویژگی برابر با نام است، کاملاً
213
00:07:58,080 –> 00:08:00,160
درست است. این فقط عنوان کتاب ما را انتخاب می
214
00:08:00,160 –> 00:08:02,879
کند اگر ناآشنا هستید، این یک انتخابگر css نامیده میشود،
215
00:08:02,879 –> 00:08:04,319
من
216
00:08:04,319 –> 00:08:06,080
نمیخواهم در مورد نحوه نوشتن
217
00:08:06,080 –> 00:08:08,160
آنها توضیح بدهم، اما امیدوارم یک
218
00:08:08,160 –> 00:08:09,840
نمای کلی خوب داشته باشید، شما اساساً مقاله را انتخاب میکنید،
219
00:08:09,840 –> 00:08:12,000
سپس به دنبال مقاله هستید. h3
220
00:08:12,000 –> 00:08:13,840
در داخل آن است و شما می گویید فقط h3 را پیدا کنید
221
00:08:13,840 –> 00:08:16,240
که این ویژگی خاص را دارد،
222
00:08:16,240 –> 00:08:17,840
بنابراین این همان کاری است که ما انجام
223
00:08:17,840 –> 00:08:19,919
دادیم و تمام عناوین کتاب را به دست آوردیم، بنابراین ما در
224
00:08:19,919 –> 00:08:22,000
اینجا خراشیدن وب و تجزیه را انجام دادیم. کار بعدی که
225
00:08:22,000 –> 00:08:24,319
می توانیم انجام دهیم این است که بررسی کنیم ما
226
00:08:24,319 –> 00:08:25,919
در واقع میتوانیم این را به متغیری
227
00:08:25,919 –> 00:08:28,639
به نام نتایج نسبت
228
00:08:28,639 –> 00:08:31,680
دهیم و بیایید نوع نتایج را بررسی کنیم،
229
00:08:31,680 –> 00:08:34,080
این به ما میگوید که نوع پایتون
230
00:08:34,080 –> 00:08:36,000
این چیست، بنابراین این یک مجموعه نتیجه سوپ زیبا است
231
00:08:36,000 –> 00:08:39,360
و از مجموعه نتایج
232
00:08:39,360 –> 00:08:42,399
میتوانیم موارد فردی مانند این را انتخاب کنیم
233
00:08:42,399 –> 00:08:44,959
و میتوانیم متن داخل
234
00:08:44,959 –> 00:08:47,839
تب فردی را با استفاده از ویژگی text انتخاب کنیم،
235
00:08:47,839 –> 00:08:49,600
بنابراین این فقط عنوان را به ما میدهد و
236
00:08:49,600 –> 00:08:51,839
تمام html را حذف میکند، بنابراین اگر میخواهیم
237
00:08:51,839 –> 00:08:54,320
فقط عنوان کتابهایمان را دریافت کنیم، کاری که انجام میدهیم این است
238
00:08:54,320 –> 00:08:58,640
که r.text را برای r در نتایجی
239
00:08:58,640 –> 00:09:00,800
که داریم میگوییم. همه عناوین کتاب ما، بنابراین
240
00:09:00,800 –> 00:09:02,959
مرحله بعدی آیا میخواهم
241
00:09:02,959 –> 00:09:05,279
قبل از شروع استفاده از نمایشنامهنویس
242
00:09:05,279 –> 00:09:07,440
برای خودکار کردن این فرآیند، دو
243
00:09:07,440 –> 00:09:09,519
فیلد دیگر را خراش دهم، بنابراین قسمت بعدی که میخواهم حذف
244
00:09:09,519 –> 00:09:11,600
کنم، نام نویسنده خواهد بود، بنابراین برای انجام این کار
245
00:09:11,600 –> 00:09:14,000
میتوانیم دوباره سوپ را انجام دهیم. انتخاب میکنیم.
246
00:09:14,000 –> 00:09:16,560
مقاله را انجام دهید و بعد از مقاله
247
00:09:16,560 –> 00:09:19,279
می خواهیم ببینیم که کدام
248
00:09:19,279 –> 00:09:21,360
تگ حاوی اطلاعات نویسنده ما است، بنابراین این
249
00:09:21,360 –> 00:09:23,200
نام نویسنده است، پس بیایید کلیک راست کرده و
250
00:09:23,200 –> 00:09:24,720
Inspect را بزنید
251
00:09:24,720 –> 00:09:26,720
و می بینیم که نام نویسنده در این
252
00:09:26,720 –> 00:09:29,519
تگ p است که p است. پاراگراف در html
253
00:09:29,519 –> 00:09:31,600
و دارای یک ویژگی آیتم prop برابر با
254
00:09:31,600 –> 00:09:32,800
نویسنده است،
255
00:09:32,800 –> 00:09:34,399
بنابراین این چیزی است که ما برای
256
00:09:34,399 –> 00:09:36,320
انتخاب نام نویسنده خود استفاده می کنیم، بنابراین می خواهیم
257
00:09:36,320 –> 00:09:38,480
مقالات انتخاب شده را بگوییم و سپس به دنبال
258
00:09:38,480 –> 00:09:40,959
تگ های p در آن مقالات بگردیم که
259
00:09:40,959 –> 00:09:43,600
در آن ویژگی آیتم prop
260
00:09:43,600 –> 00:09:45,120
برابر است.
261
00:09:45,120 –> 00:09:47,040
خیلی خوب است، بنابراین این همه
262
00:09:47,040 –> 00:09:49,680
تگ های نویسنده نویسنده ما را می گیرد و سپس می
263
00:09:49,680 –> 00:09:52,160
توانیم از همان کاری استفاده کنیم که قبل از
264
00:09:52,160 –> 00:09:54,320
دریافت ویژگی متن انجام دادیم تا فقط
265
00:09:54,320 –> 00:09:56,320
نام نویسنده را دریافت کنیم، بنابراین بیایید این را به نتایج اختصاص دهیم
266
00:09:56,320 –> 00:09:57,920
و سپس کاری که انجام خواهیم داد این است ما
267
00:09:57,920 –> 00:10:00,480
می گوییم نویسندگان برابر با
268
00:10:00,480 –> 00:10:04,800
r.tex است t برای r در نتایج خوب است
269
00:10:04,800 –> 00:10:06,880
و اکنون ما نام نویسنده ها
270
00:10:06,880 –> 00:10:09,519
را داریم که این را با رشته داریم همچنین
271
00:10:09,519 –> 00:10:11,040
می توانیم به راحتی آن را حذف کنیم، من فعلاً
272
00:10:11,040 –> 00:10:13,279
آن را حذف نمی کنم، اما
273
00:10:13,279 –> 00:10:14,720
اگر واقعاً می خواهید این موضوع تمیزتر به نظر برسد،
274
00:10:14,720 –> 00:10:16,640
می توانید از شر آن خلاص شوید و
275
00:10:16,640 –> 00:10:17,680
276
00:10:17,680 –> 00:10:20,640
در هر رشته جایگزین کنید، بنابراین
277
00:10:20,640 –> 00:10:22,320
نویسندگان و آخرین چیزی که میخواهم
278
00:10:22,320 –> 00:10:23,839
دریافت کنم، زیرا به ما اجازه میدهد کارهای
279
00:10:23,839 –> 00:10:26,160
نمایشی جالبی انجام دهیم
280
00:10:26,160 –> 00:10:28,880
این است که تصویر جلد برای هر رشته را دریافت کنم. کتاب تا بتوانیم
281
00:10:28,880 –> 00:10:30,480
در واقع جلدها را نمایش دهیم و به
282
00:10:30,480 –> 00:10:33,040
آنها نگاه کنیم، بنابراین دوباره به فایل html خود برمی گردیم
283
00:10:33,040 –> 00:10:35,360
، روی جلد راست کلیک کرده و
284
00:10:35,360 –> 00:10:38,320
Inspect را می زنیم و این به ما می گوید
285
00:10:38,320 –> 00:10:41,279
که در داخل مقاله خود یک
286
00:10:41,279 –> 00:10:43,920
تگ دیگری به نام فوتر و داخل داریم. این یک
287
00:10:43,920 –> 00:10:46,720
تصویر است و آن تصویر دارای یک ویژگی
288
00:10:46,720 –> 00:10:49,839
به نام src است که آدرس تصویر روی جلد ما است
289
00:10:49,839 –> 00:10:51,839
و دارای ویژگی آیتم prop
290
00:10:51,839 –> 00:10:54,079
برابر با تصویر است، بنابراین ما میتوانیم
291
00:10:54,079 –> 00:10:56,720
آدرس اینترنتی تصویر خود را با استفاده از آن اطلاعات
292
00:10:56,720 –> 00:10:58,560
بگیریم، بنابراین بیایید به دفترچه یادداشت خراش وب خود برگردیم
293
00:10:58,560 –> 00:11:01,920
و اجازه دهید از آن شروع کنید،
294
00:11:01,920 –> 00:11:03,680
بنابراین اولین چیزی که ما خواهیم کرد انجام دهید این است که
295
00:11:03,680 –> 00:11:06,800
دوباره گزینه سوپ نقطه را انجام می دهیم
296
00:11:06,800 –> 00:11:08,959
و کاری که انجام می دهیم مقاله است و
297
00:11:08,959 –> 00:11:10,000
به
298
00:11:10,000 –> 00:11:12,480
تگ های تصویر نگاه می کنیم که در آن prop مورد
299
00:11:12,480 –> 00:11:15,040
برابر با تصویر است،
300
00:11:15,040 –> 00:11:18,640
بنابراین در داخل یک مقاله، هر
301
00:11:18,640 –> 00:11:21,839
تگ تصویری تگ img را پیدا می کنیم که در آن ویژگی آیتم prop
302
00:11:21,839 –> 00:11:23,760
برابر با تصویر است.
303
00:11:23,760 –> 00:11:26,399
خیلی خوب است که همه تگ های تصویر جلد کتاب ما را پیدا
304
00:11:26,399 –> 00:11:29,600
کردیم و اکنون باید کار
305
00:11:29,600 –> 00:11:31,279
کمی متفاوت انجام دهیم زیرا آنچه
306
00:11:31,279 –> 00:11:34,079
ما می خواهیم این ویژگی src است که ما
307
00:11:34,079 –> 00:11:35,839
آدرس واقعی را می خواهیم ما واقعاً
308
00:11:35,839 –> 00:11:39,360
به بقیه برچسب ها اهمیت نمی دهیم ، بنابراین چگونه می خواهیم
309
00:11:39,360 –> 00:11:41,920
بیایید این را به نتایج اختصاص دهیم و کاری که
310
00:11:41,920 –> 00:11:44,240
میتوانیم انجام دهیم این است که میتوانیم به نتایج صفر نگاه
311
00:11:44,240 –> 00:11:45,120
312
00:11:45,120 –> 00:11:48,160
کنیم و ویژگی src
313
00:11:48,160 –> 00:11:50,639
را بگیریم تا فقط منبع تصویر را به ما بدهد،
314
00:11:50,639 –> 00:11:53,120
بنابراین نتایج uh نتایج اساساً یک
315
00:11:53,120 –> 00:11:56,079
مجموعه نتیجه است که مانند یک لیست عمل میکند. بنابراین
316
00:11:56,079 –> 00:11:57,920
صفر اولین مورد را در
317
00:11:57,920 –> 00:12:00,560
مجموعه نتیجه به ما می دهد و سپس src ویژگی uh src آن نتیجه را به ما می دهد،
318
00:12:00,560 –> 00:12:03,680
بنابراین
319
00:12:03,680 –> 00:12:05,279
برای واضح تر شدن این موضوع اجازه دهید فقط از
320
00:12:05,279 –> 00:12:08,320
شر src خلاص شوم و فقط به نتایج صفر نگاه
321
00:12:08,320 –> 00:12:10,160
کنم و می توانید آنجا را ببینید. چندین
322
00:12:10,160 –> 00:12:12,320
ویژگی در اینجا وجود دارد که ما اساساً می توانیم آن را مطابقت دهیم
323
00:12:12,320 –> 00:12:13,680
هر یک از آن ویژگی ها را مشخص کنید، بنابراین اگر می خواهید
324
00:12:13,680 –> 00:12:15,920
به متن alt دسترسی داشته باشید، alt را انجام می دهید
325
00:12:15,920 –> 00:12:18,240
و از آنجایی که ما می خواهیم به src دسترسی پیدا کنیم،
326
00:12:18,240 –> 00:12:19,839
src را به درستی انجام می دهیم
327
00:12:19,839 –> 00:12:21,760
و سپس می توانیم به
328
00:12:21,760 –> 00:12:25,839
روشی مشابه کاری که قبل از آن انجام
329
00:12:26,240 –> 00:12:31,120
دادیم. همه منابع تصویری خود را
330
00:12:32,800 –> 00:12:33,680
خوب
331
00:12:33,680 –> 00:12:36,000
بگیرید، بنابراین ما اکنون سه لیست داریم با عنوان
332
00:12:36,000 –> 00:12:38,480
نویسندگان و تصاویری که
333
00:12:38,480 –> 00:12:41,120
اطلاعات مربوط به هر کتاب را دارند، میتوانیم از
334
00:12:41,120 –> 00:12:42,800
تابع فانتزی پایتون برای
335
00:12:42,800 –> 00:12:45,279
ترکیب اینها با هم استفاده کنیم، میتوانیم از
336
00:12:45,279 –> 00:12:48,639
تابعی به نام zip استفاده کنیم و کاری که zip انجام میدهد
337
00:12:48,639 –> 00:12:51,120
آسانتر است. نشان می دهد تا توضیح دهد
338
00:12:51,120 –> 00:12:52,959
که اغلب در مورد بسیاری از چیزها در
339
00:12:52,959 –> 00:12:54,560
مورد کدنویسی درست است، بنابراین ما می خواهیم
340
00:12:54,560 –> 00:12:55,839
این موارد را با هم فشرده کنیم
341
00:12:55,839 –> 00:12:59,120
و اساساً zip یک تکرار کننده برمی گرداند
342
00:12:59,120 –> 00:13:00,959
و ما باید آن را به یک لیست تبدیل کنیم، بنابراین
343
00:13:00,959 –> 00:13:03,279
ما فقط لیست را تایپ می کنیم و این چه چیزی است.
344
00:13:03,279 –> 00:13:05,519
انجام می دهد این است که اولین مورد را از
345
00:13:05,519 –> 00:13:07,839
هر لیست می گیرد و آنها را کنار هم می گذارد
346
00:13:07,839 –> 00:13:09,440
، مورد دوم را از هر لیست می گیرد و
347
00:13:09,440 –> 00:13:10,959
سومین مورد را از هر
348
00:13:10,959 –> 00:13:13,040
لیست کنار هم می گذارد و آنها را با هم قرار می دهد و غیره، بنابراین ما
349
00:13:13,040 –> 00:13:15,279
اکنون لیستی از لیست ها داریم که اولین
350
00:13:15,279 –> 00:13:17,440
مورد اول است. کتاب آن تیتر دارد
351
00:13:17,440 –> 00:13:19,760
کتاب اول نویسنده و تصویر
352
00:13:19,760 –> 00:13:22,079
و سپس کتاب دوم کتاب سوم و غیره
353
00:13:22,079 –> 00:13:24,560
بنابراین zip is zip بسیار جالب
354
00:13:24,560 –> 00:13:25,839
است و اساساً به شما امکان می دهد
355
00:13:25,839 –> 00:13:28,000
اطلاعات را از لیست های جداگانه در یک ترکیب کنید
356
00:13:28,000 –> 00:13:29,680
و این همان کاری است که ما به
357
00:13:29,680 –> 00:13:33,040
خوبی انجام دادیم بنابراین اکنون کتاب خود را داریم اطلاعاتی را
358
00:13:33,040 –> 00:13:35,600
که خراشیده و ذخیره کرده ایم، در مدت کوتاهی
359
00:13:35,600 –> 00:13:37,920
کارهای بیشتری با این
360
00:13:37,920 –> 00:13:40,720
کار انجام خواهیم داد، اما در حال حاضر تجزیه خود را انجام داده ایم و اکنون
361
00:13:40,720 –> 00:13:41,600
362
00:13:41,600 –> 00:13:44,720
راهی برای رسیدن از html خام به نسخه تجزیه
363
00:13:44,720 –> 00:13:46,480
شده داریم گام بعدی ما
364
00:13:46,480 –> 00:13:48,800
خودکار کردن این است. با کتابخانه ای به نام
365
00:13:48,800 –> 00:13:51,360
playwright
366
00:13:52,880 –> 00:13:55,199
بسیار خوب است، بنابراین ما خراش وب خود را داریم،
367
00:13:55,199 –> 00:13:58,079
بنابراین نمایشنامه نویس می توانید از داخل دفترچه یادداشت jupyter استفاده کنید
368
00:13:58,079 –> 00:13:59,600
اما کمی
369
00:13:59,600 –> 00:14:00,959
پیچیده تر است زیرا شما باید از api async استفاده کنید
370
00:14:00,959 –> 00:14:02,399
371
00:14:02,399 –> 00:14:03,600
372
00:14:03,600 –> 00:14:05,199
که اگر آشنایی ندارید کمی پیچیده تر است. با
373
00:14:05,199 –> 00:14:07,199
آن، بنابراین به جای انجام این کار، من در واقع
374
00:14:07,199 –> 00:14:09,199
یک فایل پایتون جداگانه ایجاد می کنم
375
00:14:09,199 –> 00:14:11,839
و آن را در مقابل
376
00:14:11,839 –> 00:14:13,279
استفاده از یک نوت بوک
377
00:14:13,279 –> 00:14:15,360
به همین شکل اجرا می کنم، بنابراین کاری که ما انجام می دهیم این است که می رویم و
378
00:14:15,360 –> 00:14:17,360
یک فایل پایتون جدید ایجاد می کنیم
379
00:14:17,360 –> 00:14:20,079
و چیزی که من این را می نامم تک صفحه است
380
00:14:20,079 –> 00:14:22,160
نقطه p1 و روشی که ما این را اجرا می کنیم به این صورت است
381
00:14:22,160 –> 00:14:24,320
که یک ترمینال
382
00:14:24,320 –> 00:14:27,360
در یک نوت بوک jupyter ایجاد می کنیم تا
383
00:14:27,360 –> 00:14:29,040
ترمینال نحوه اجرای این
384
00:14:29,040 –> 00:14:30,800
اسکریپت را به خوبی انجام دهیم، بنابراین اجازه دهید به
385
00:14:30,800 –> 00:14:33,440
اسکریپتی به نام صفحه تک
386
00:14:33,440 –> 00:14:35,760
برویم و کاری که انجام خواهیم داد این است ما در واقع
387
00:14:35,760 –> 00:14:37,600
نمایشنامهنویس را مقداردهی اولیه میکنیم،
388
00:14:37,600 –> 00:14:39,040
بنابراین
389
00:14:39,040 –> 00:14:41,519
از playwrit
390
00:14:41,519 –> 00:14:43,680
import sync
391
00:14:43,680 –> 00:14:46,160
api اینگونه است که شما نمایشنامهنویس را وارد میکنید و
392
00:14:46,160 –> 00:14:49,920
چیزی که ما میگوییم این است که با نمایشنامهنویس همگامسازی
393
00:14:49,920 –> 00:14:51,199
به عنوان
394
00:14:51,199 –> 00:14:54,720
مرورگر p برابر است با p dot chromium
395
00:14:54,720 –> 00:14:56,240
کاملاً درست است، بنابراین کاری که انجام میدهد این است که این
396
00:14:56,240 –> 00:14:58,480
نمایشنامهنویس را مقداردهی اولیه میکند و سپس
397
00:14:58,480 –> 00:15:00,639
یک مرورگر ایجاد میکند. نمایشنامه نویس به روشی
398
00:15:00,639 –> 00:15:02,320
که کار می کند این است که در واقع یک
399
00:15:02,320 –> 00:15:03,920
مرورگر برای شما ایجاد می کند که در پس زمینه اجرا می شود
400
00:15:03,920 –> 00:15:05,760
و از آن مرورگر استفاده می کند تا
401
00:15:05,760 –> 00:15:07,680
در واقع صفحه را برای شما خراش دهد و
402
00:15:07,680 –> 00:15:09,839
کارهای دیگر را انجام دهد و در اینجا ما
403
00:15:09,839 –> 00:15:12,399
به نمایشنامه نویس می گوییم که یک مرورگر کرومیوم راه اندازی
404
00:15:12,399 –> 00:15:15,199
کند. کرومی که احتمالاً
405
00:15:15,199 –> 00:15:16,560
از آن استفاده می کنید زیرا محبوب ترین
406
00:15:16,560 –> 00:15:18,880
مرورگر جهان است که توسط گوگل ساخته شده است
407
00:15:18,880 –> 00:15:21,040
و کروم ابزار منبع باز است
408
00:15:21,040 –> 00:15:23,040
که کروم بر اساس آن ساخته شده است، بنابراین
409
00:15:23,040 –> 00:15:24,480
اساساً مرورگری را راه اندازی می کند که
410
00:15:24,480 –> 00:15:26,160
بسیار کارآمد است. مشابه کروم و سپس کاری که
411
00:15:26,160 –> 00:15:28,320
میتوانیم انجام دهیم این است که یک صفحه جدید در مرورگر ایجاد میکنیم،
412
00:15:28,320 –> 00:15:31,279
بنابراین در نمایشنامهنویس یک صفحه به
413
00:15:31,279 –> 00:15:33,040
نوعی مانند یک تب است، بنابراین ما اساساً
414
00:15:33,040 –> 00:15:34,880
یک تب جدید ایجاد میکنیم و سپس
415
00:15:34,880 –> 00:15:37,759
به مرورگر میگوییم. برای رفتن به یک
416
00:15:37,759 –> 00:15:38,600
417
00:15:38,600 –> 00:15:41,360
نشانی اینترنتی خاص و این اروپا خواهد