در این مطلب، ویدئو Python – Web Scraping با Beautifulsoup با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:46:11
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,350 –> 00:00:03,449
سلام دوستان به وب اسکرپینگ با
2
00:00:03,449 –> 00:00:07,560
سوپ زیبای پایتون خوش آمدید، بنابراین امروز
3
00:00:07,560 –> 00:00:09,719
با سه مرحله به شما آموزش میدهم
4
00:00:09,719 –> 00:00:13,110
که چگونه وب اسکرپینگ مهم است
5
00:00:13,110 –> 00:00:15,299
و قول می دهم مقدمه نظری را
6
00:00:15,299 –> 00:00:18,600
بسیار کوتاه نگه دارم و در مرحله دوم اصول اولیه سوپ زیبا را به شما نشان خواهم داد.
7
00:00:18,600 –> 00:00:21,539
ما
8
00:00:21,539 –> 00:00:23,939
برای چند نمونه از سمت ویکیپدیا بیل کلینتون استفاده
9
00:00:23,939 –> 00:00:27,570
10
00:00:27,570 –> 00:00:30,660
میکنیم و در این مرحله در آخرین مرحله، یک اسکراپر کامل
11
00:00:30,660 –> 00:00:34,410
برای amazon.com میسازیم که
12
00:00:34,410 –> 00:00:37,559
کارتهای گرافیکی را نامهایش قیمتها
13
00:00:37,559 –> 00:00:41,700
و رتبهبندیها و غیره را اول از همه میخراشد. چرا
14
00:00:41,700 –> 00:00:44,940
خراش دادن وب مهم است بنابراین
15
00:00:44,940 –> 00:00:47,730
اطلاعات بسیار مفیدی در وب وجود دارد مانند شما
16
00:00:47,730 –> 00:00:51,090
می توانید همه چیز را پیدا کنید مانند نتایج پشتیبانی
17
00:00:51,090 –> 00:00:56,190
مانند اطلاعات شرکت مانند
18
00:00:56,190 –> 00:00:59,520
قیمت های محصول قیمت های رقابتی قیمت خانه
19
00:00:59,520 –> 00:01:04,260
قیمت ماشین مشاغل می توانید اخبار
20
00:01:04,260 –> 00:01:07,200
را پیدا کنید می توانید Super Heroes را پیدا کنید بله اساساً می
21
00:01:07,200 –> 00:01:09,930
توانید همه چیز را پیدا کنید در شبکه
22
00:01:09,930 –> 00:01:12,689
مشکل این است که همه چیز وجود دارد،
23
00:01:12,689 –> 00:01:14,909
اما در وب است و همیشه
24
00:01:14,909 –> 00:01:17,909
ساختاری ندارد، بنابراین اگر رئیس شما از شما خواسته است که
25
00:01:17,909 –> 00:01:20,189
سلام را علامت بزنید، لطفاً نتایج تمام لیورپول ها را به من بدهید.
26
00:01:20,189 –> 00:01:22,830
مسابقات باشگاه ccer
27
00:01:22,830 –> 00:01:25,619
در ده سال گذشته و X و شما باید این کار را به صورت دستی انجام دهید،
28
00:01:25,619 –> 00:01:28,979
این واقعیت را دارید که اساساً می
29
00:01:28,979 –> 00:01:31,979
توانید آن را به صورت دستی انجام دهید اما زمان زیادی می
30
00:01:31,979 –> 00:01:35,970
برد، اما اگر باهوش هستید می توانید
31
00:01:35,970 –> 00:01:38,130
یک اسکراپر یک اسکراپر وب با ادویه در آن بسازید. یک
32
00:01:38,130 –> 00:01:40,950
سوپ زیبا در یک ساعت و
33
00:01:40,950 –> 00:01:42,689
بقیه روز را بخوابید، بنابراین اسکراپینگ وب به
34
00:01:42,689 –> 00:01:44,579
این معنی است که اساساً با مقداری
35
00:01:44,579 –> 00:01:48,750
کدنویسی می توانید داده ها را از
36
00:01:48,750 –> 00:01:52,350
صفحات وب استخراج کنید و آنها را با هر فرمتی
37
00:01:52,350 –> 00:01:55,320
که می خواهید مانند فایل های موجود در محورها به
38
00:01:55,320 –> 00:01:58,860
پایگاه داده بیاورید و سپس انواع مختلفی
39
00:01:58,860 –> 00:02:01,229
از اطلاعات را از آن تشکیل دهید، مانند نمودارهایی
40
00:02:01,229 –> 00:02:03,840
مانند ایمیل ها و هر چیز دیگری و این همان
41
00:02:03,840 –> 00:02:06,180
چیزی است که اسکراپینگ وب در
42
00:02:06,180 –> 00:02:08,970
43
00:02:08,970 –> 00:02:11,280
44
00:02:11,280 –> 00:02:13,470
45
00:02:13,470 –> 00:02:15,840
46
00:02:15,840 –> 00:02:18,090
مورد آن است. از صفحات وب به
47
00:02:18,090 –> 00:02:21,420
شکلی ساختاریافته و همین است که
48
00:02:21,420 –> 00:02:24,300
با اولین قدم، اکنون مستقیما وارد می شویم
49
00:02:24,300 –> 00:02:26,460
50
00:02:26,460 –> 00:02:28,320
و با پایتون و سوپ زیبا
51
00:02:28,320 –> 00:02:30,720
دستمان را کثیف می کنیم و صفحه ویکی پدیا بیل جی را می گیریم.
52
00:02:30,720 –> 00:02:36,210
به عنوان مثال، خوب، اجازه دهید
53
00:02:36,210 –> 00:02:39,630
شروع به خزیدن کنیم، بنابراین بیایید صفحه ویکیپدیا بیل گیتس را جستجو کنیم
54
00:02:39,630 –> 00:02:42,240
و فکر میکنم قبلاً به
55
00:02:42,240 –> 00:02:45,330
بیل کلینتون گفتم میخواهم
56
00:02:45,330 –> 00:02:48,510
صفحه ویکیپدیا بیل گیتس را بخزیم، بنابراین بیایید سعی
57
00:02:48,510 –> 00:02:50,280
کنیم همه این اطلاعات را از
58
00:02:50,280 –> 00:02:53,370
اینجا یا فقط اطلاعات خاص را با
59
00:02:53,370 –> 00:02:56,520
پارسا فراخوانی کنیم. و سوپ زیبا ما به دو
60
00:02:56,520 –> 00:03:00,090
کتابخانه برای این مورد نیاز داریم که به آن
61
00:03:00,090 –> 00:03:04,320
درخواست میشود تا URL را در اینجا از طریق HTTP فراخوانی کنیم،
62
00:03:04,320 –> 00:03:07,550
بنابراین اول از همه درخواستهای نصب پیپ
63
00:03:07,550 –> 00:03:11,400
که قبلاً انجام دادهام، بنابراین
64
00:03:11,400 –> 00:03:12,600
میتوانید نیازی را ببینید که قبلاً
65
00:03:12,600 –> 00:03:15,209
برآورده شده است، دوم اینکه شما باید
66
00:03:15,209 –> 00:03:17,820
سوپ زیبا را نصب کنید و مهمتر
67
00:03:17,820 –> 00:03:19,769
از همه به آن ماژول سوپ های زیبا نمی
68
00:03:19,769 –> 00:03:23,780
گویند، آن را bs4 می نامند، بنابراین pip install bs4
69
00:03:23,780 –> 00:03:28,470
و در اینجا من قبلاً این کار را انجام دادم
70
00:03:28,470 –> 00:03:31,100
، پس بیایید به اسکریپت خود برویم، بیایید یک اسکریپت
71
00:03:31,100 –> 00:03:34,260
جدید ایجاد کنیم و آن را
72
00:03:34,260 –> 00:03:39,180
wiki py بنامیم و دو کتابخانه خود را وارد کنیم بنابراین
73
00:03:39,180 –> 00:03:42,299
اگر s در مرحله اول و در
74
00:03:42,299 –> 00:03:45,830
مرحله دوم از be s برای واردات
75
00:03:45,830 –> 00:03:48,450
زیبا با S بزرگ اینجا
76
00:03:48,450 –> 00:03:54,110
سوپ زیبا وارد شده است، پس اول از همه اجازه دهید
77
00:03:54,110 –> 00:03:57,060
اساساً صفحه را اینگونه بنامیم و
78
00:03:57,060 –> 00:04:00,269
بیایید یک صفحه متغیر در اینجا ایجاد
79
00:04:00,269 –> 00:04:03,989
کنیم و صفحه را با درخواست نقطه get فراخوانی می کنیم و سپس
80
00:04:03,989 –> 00:04:06,180
می توانیم URL را در اینجا وارد کنیم بنابراین اساساً
81
00:04:06,180 –> 00:04:08,940
کاری که انجام می دهد این است که یک درخواست دریافت را
82
00:04:08,940 –> 00:04:12,180
به این ul ارسال می کند و نتیجه را
83
00:04:12,180 –> 00:04:15,900
در متغیر صفحه متوقف می کند. میخواهم
84
00:04:15,900 –> 00:04:18,540
به جزئیات بیشتر کتابخانه درخواست
85
00:04:18,540 –> 00:04:20,700
اینجا بپردازم، زیرا a بر روی سوپ زیبا تمرکز میکند،
86
00:04:20,700 –> 00:04:25,229
اما بیایید آزمایش کنیم، بیایید
87
00:04:25,229 –> 00:04:27,090
متغیر Watson را در اینجا چاپ کنیم،
88
00:04:27,090 –> 00:04:30,889
بنابراین بیایید اسکریپت wikidot py را اجرا
89
00:04:30,889 –> 00:04:34,260
کنیم و میبینیم که پاسخ 200 را دریافت میکنیم
90
00:04:34,260 –> 00:04:37,710
که یک کد وضعیت HTTP است. اساساً
91
00:04:37,710 –> 00:04:40,650
میگوید درخواست مشکلی ندارد، نتیجه من است
92
00:04:40,650 –> 00:04:44,360
و ما همچنین میتوانیم محتویات صفحه را
93
00:04:44,360 –> 00:04:47,850
در اینجا با محتوای صفحه نمایش دهیم، بیایید
94
00:04:47,850 –> 00:04:50,930
آن را چاپ کنیم و سپس میبینید که
95
00:04:50,930 –> 00:04:53,460
اساساً تمام مطالب را از
96
00:04:53,460 –> 00:04:58,560
صفحه اول دریافت میکنید، اکنون شروع به حرکت به سمت
97
00:04:58,560 –> 00:05:01,169
چیزهای فوقالعاده زیبا کنیم، بنابراین اساساً شما
98
00:05:01,169 –> 00:05:06,750
محتوای صفحه ما اینجاست و
99
00:05:06,750 –> 00:05:08,550
ما یک متغیر جدید به نام سوپ
100
00:05:08,550 –> 00:05:14,070
در اینجا ایجاد می کنیم و از کتابخانه زیبای سوپ
101
00:05:14,070 –> 00:05:18,660
در اینجا استفاده می کنیم و در محتوای صفحه عبور می
102
00:05:18,660 –> 00:05:22,139
دهیم و باید یک گذرنده را مشخص کنیم
103
00:05:22,139 –> 00:05:25,020
و وجود دارد. پاسهای دیگر مانند
104
00:05:25,020 –> 00:05:27,150
تجزیهکننده XML و غیره، اما در این مورد
105
00:05:27,150 –> 00:05:29,280
میدانیم که HTML است و میخواهیم از HTML جزئی استفاده کنیم،
106
00:05:29,280 –> 00:05:33,300
بنابراین وقتی این کار انجام شد، اجازه دهید
107
00:05:33,300 –> 00:05:37,020
آن را چاپ کنیم، اجازه دهید سوپ را در کنسول چاپ کنیم
108
00:05:37,020 –> 00:05:40,470
و دوباره میبینید که
109
00:05:40,470 –> 00:05:42,810
همه اطلاعات را دریافت میکنید. همه چیزهای HTML
110
00:05:42,810 –> 00:05:45,270
از صفحه اینجا واقعاً همه چیز است
111
00:05:45,270 –> 00:05:48,120
، بنابراین آنقدر طولانی است که من حتی مطمئن نیستم که بتوانم
112
00:05:48,120 –> 00:05:51,630
به بالای صفحه بروم یا نه، بنابراین برای آسانتر کردن این کار،
113
00:05:51,630 –> 00:05:54,840
اجازه دهید به سرعت آن را در یک فایل ذخیره کنیم، بنابراین
114
00:05:54,840 –> 00:05:59,550
اجازه دهید به سرعت ببینیم چه چیزی به ما میدهد.
115
00:05:59,550 –> 00:06:04,470
یک فایل خروجی جدید ایجاد کنید، اجازه دهید از آن
116
00:06:04,470 –> 00:06:09,840
استفاده کنیم و کدنویسی برابر با utf-8 است، زیرا من
117
00:06:09,840 –> 00:06:11,700
تقریباً مطمئن هستم که تعدادی
118
00:06:11,700 –> 00:06:17,849
کاراکتر خاص در آن به عنوان فایل آزمایشی وجود دارد و سپس
119
00:06:17,849 –> 00:06:24,200
فایل آزمایشی dot write وجود دارد و باید
120
00:06:24,200 –> 00:06:28,349
سوپ را تا این اندازه متغیر در یک رشته قرار دهیم.
121
00:06:28,349 –> 00:06:31,200
زیرا ما فقط میتوانیم رشتهها را در
122
00:06:31,200 –> 00:06:34,110
این فایل txt بنویسیم و نه یک شیء سوپ، پس
123
00:06:34,110 –> 00:06:36,060
بیایید آن را امتحان کنیم و یک بار دیگر اسکریپت را اجرا
124
00:06:36,060 –> 00:06:39,599
کنیم، بنابراین در اینجا میبینید که ما یک
125
00:06:39,599 –> 00:06:40,680
متن خروجی دریافت
126
00:06:40,680 –> 00:06:43,680
میکنیم که شما با همه موارد از
127
00:06:43,680 –> 00:06:46,080
وبسایت میدانید، بنابراین شما اینجا را مشاهده میکنید. عنوانی
128
00:06:46,080 –> 00:06:48,470
بیل گیتس در ویکی پدیا بگیرید که فکر می
129
00:06:48,470 –> 00:06:51,090
کنم همین باشد چیزهای اینجا در بالای صفحه بیل گیتس
130
00:06:51,090 –> 00:06:53,880
ویکیپدیا شما اطلاعات اسکریپت بسیار بیشتری دریافت میکنید
131
00:06:53,880 –> 00:06:57,000
پیوندهای متا اطلاعات اسکریپت
132
00:06:57,000 –> 00:07:00,509
همه محتویات صفحه در اینجا
133
00:07:00,509 –> 00:07:03,900
شما اجازه دهید من این h1 را جستجو کنم شما یک
134
00:07:03,900 –> 00:07:06,990
عنوان اینجا دارید.
135
00:07:06,990 –> 00:07:10,680
که
136
00:07:10,680 –> 00:07:11,580
این یکی اینجاست،
137
00:07:11,580 –> 00:07:13,949
بنابراین میبینید که اکنون تمام
138
00:07:13,949 –> 00:07:17,750
اطلاعات این صفحه را در پایتون خود دریافت میکنید،
139
00:07:17,750 –> 00:07:21,120
اما در حال حاضر واقعا زیبا نیست،
140
00:07:21,120 –> 00:07:24,840
بنابراین اگر وب را خراش
141
00:07:24,840 –> 00:07:26,340
میدهید، نمیخواهید تمام
142
00:07:26,340 –> 00:07:27,930
اطلاعاتی را که میخواهید دریافت کنید. برای به دست آوردن
143
00:07:27,930 –> 00:07:30,509
اطلاعات خاص و برای این سوپ زیبا
144
00:07:30,509 –> 00:07:34,560
واقعاً بسیار قدرتمند است، بنابراین بیایید سعی
145
00:07:34,560 –> 00:07:40,650
کنیم – بله از نظرات اولیه سوپ زیبا استفاده کنید
146
00:07:40,650 –> 00:07:43,289
بنابراین اساسا و اولین قدم
147
00:07:43,289 –> 00:07:45,419
ما کل سوپ ها را یک
148
00:07:45,419 –> 00:07:48,110
صفحه کامل چاپ کردیم اما می توانیم همین کار را با سوپ h1 نیز انجام دهیم.
149
00:07:48,110 –> 00:07:51,810
مانند این، بیایید اجرا کنیم و ببینیم
150
00:07:51,810 –> 00:07:54,840
چه چیزی به ما می دهد و شما اینجا می بینید
151
00:07:54,840 –> 00:07:58,110
که عنوان بیل گیتس را به ما می دهد
152
00:07:58,110 –> 00:08:02,430
در اینجا می توانید این کار را با سوپ دات انجام دهید و
153
00:08:02,430 –> 00:08:06,419
سپس فقط عنصر HTML را که
154
00:08:06,419 –> 00:08:08,070
می خواهید پرس و جو کنید، اما می توانید آن را نیز انجام دهید.
155
00:08:08,070 –> 00:08:11,430
به روش دیگری مانند سوپ دات پیدا کنید،
156
00:08:11,430 –> 00:08:14,340
همچنین می توانید آن را مانند این h1 انجام دهید و بیایید
157
00:08:14,340 –> 00:08:19,830
ببینیم چه چیزی به ما خوب می دهد و فکر می کنم
158
00:08:19,830 –> 00:08:24,349
اینجا باید از این استفاده کنید
159
00:08:24,349 –> 00:08:29,310
و ببینید که آیا سوپ h1 را چاپ می کنید یا از سوپ
160
00:08:29,310 –> 00:08:32,599
پیدا کنید h1 استفاده می کنید. شما همان نتیجه را دارید،
161
00:08:32,599 –> 00:08:35,760
اما کارهای بیشتری می توانید انجام دهید، می توانید از
162
00:08:35,760 –> 00:08:40,140
سوپ پیدا کردن h1 و سپس متن نقطه استفاده کنید و
163
00:08:40,140 –> 00:08:43,740
اگر این کار را به این صورت انجام دهید،
164
00:08:43,740 –> 00:08:46,440
فقط متن این متن h1 را به شما می دهد، بنابراین فقط
165
00:08:46,440 –> 00:08:48,900
این چیزهای بیل گیتس در وسط اینجا
166
00:08:48,900 –> 00:08:52,529
این است. این است که چگونه میتوانید مستقیماً به
167
00:08:52,529 –> 00:08:53,910
اطلاعاتی که میخواهید بدانید که نمیخواهید بدانید
168
00:08:53,910 –> 00:08:54,570
169
00:08:54,570 –> 00:08:56,430
این متا اطلاعات را بدانید، فقط میخواهید
170
00:08:56,430 –> 00:08:58,650
بدانید که چه چیزی در سرفصل است و آن
171
00:08:58,650 –> 00:09:06,000
بیل گیتس است، حالا بیایید
172
00:09:06,000 –> 00:09:07,860
صفحه را کمی بیشتر بررسی کنیم، بنابراین اگر میخواهید بدانید
173
00:09:07,860 –> 00:09:10,220
با Chrome it’s
174
00:09:10,220 –> 00:09:13,740
control-shift به مرورگر خود بروید من می توانید در
175
00:09:13,740 –> 00:09:17,640
اینجا به حالت برنامه نویس بروید و اوه این
176
00:09:17,640 –> 00:09:27,810
اشتباه بود بالاخره برگشت بنابراین می توانید
177
00:09:27,810 –> 00:09:30,810
واقعاً از حالت توسعه دهنده کروم خود
178
00:09:30,810 –> 00:09:32,730
در اینجا برای بررسی صفحه استفاده کنید و در
179
00:09:32,730 –> 00:09:35,190
سمت راست ببینید کدام عنصر در
180
00:09:35,190 –> 00:09:37,680
اینجا علامت گذاری می شود و شما نیز می توانید این کار را انجام دهید
181
00:09:37,680 –> 00:09:40,500
برعکس، نیازی نیست
182
00:09:40,500 –> 00:09:43,890
از طریق صفحه به اینجا بروید، همچنین میتوانید بروید و
183
00:09:43,890 –> 00:09:45,930
در سمت چپ به اینجا بپرید و
184
00:09:45,930 –> 00:09:48,270
ببینید کدام عنصر در
185
00:09:48,270 –> 00:09:50,280
سمت چپ انتخاب میشود، بنابراین میتوانید از طریق
186
00:09:50,280 –> 00:09:54,360
آن صفحه بروید و ببینید کدام عنصر
187
00:09:54,360 –> 00:09:56,460
واقعاً است. در سمت چپ انتخاب شده است و اکنون
188
00:09:56,460 –> 00:09:59,400
بیایید سعی کنیم این
189
00:09:59,400 –> 00:10:02,900
اطلاعات محتوا را در اسکریپت پایتون خود وارد کنیم و
190
00:10:02,900 –> 00:10:06,630
میتوانید اینجا را ببینید که شروع شده است اجازه دهید
191
00:10:06,630 –> 00:10:10,340
من آن را به نوعی بازاریابی کنم و این بحث ID تفاوت
192
00:10:10,340 –> 00:10:14,880
بیاید اجازه دهید روی آن کلیک کنم این بحث ID
193
00:10:14,880 –> 00:10:19,740
بله، بنابراین اگر شما اکنون
194
00:10:19,740 –> 00:10:26,130
از soup find diff استفاده می کنم و آن را اجرا می کنم، آن
195
00:10:26,130 –> 00:10:28,380
را پیدا نمی کند زیرا تفاوت های زیادی وجود دارد
196
00:10:28,380 –> 00:10:33,630
که یک نظر اشتباه بود
197
00:10:33,630 –> 00:10:35,520
، بنابراین صفحه های مختلف بسیار زیادی وجود دارد که
198
00:10:35,520 –> 00:10:38,490
به سادگی اولین مورد را چاپ می کند، بنابراین
199
00:10:38,490 –> 00:10:41,280
اجازه دهید دوباره آن را اجرا کنم و
200
00:10:41,280 –> 00:10:44,010
کلاس div ما را بدون شناسه چاپی چاپ می کند، هر
201
00:10:44,010 –> 00:10:46,410
چه فکر می کنم این اولین تفاوت است، بنابراین
202
00:10:46,410 –> 00:10:49,790
بیایید در خروجی خود ببینیم، بیایید جستجو
203
00:10:49,790 –> 00:10:54,390
کنیم که آیا این اولین تفاوتی است
204
00:10:54,390 –> 00:10:56,550
که در صفحه وجود دارد، بنابراین این
205
00:10:56,550 –> 00:10:59,400
به شما در یافتن کمک نمی کند دقیقا
206
00:10:59,400 –> 00:11:02,670
این div w با استفاده از ID صحبت کنید اما کمکی وجود دارد
207
00:11:02,670 –> 00:11:05,970
که می توانید آن را مشخص کنید تا می توانید بگویید
208
00:11:05,970 –> 00:11:08,220
سوپ مرگ را پیدا کنید
209
00:11:08,220 –> 00:11:11,490
و سپس با شناسه کاما و شناسه
210
00:11:11,490 –> 00:11:15,020
به نام صحبت شد بیایید آن را اجرا کنیم و
211
00:11:15,020 –> 00:11:19,140
ببینیم چه چیزی به ما می دهد و می بینید
212
00:11:19,140 –> 00:11:21,450
این به ما می دهد DIF های مختلف اجازه دهید
213
00:11:21,450 –> 00:11:23,760
به بالا اسکرول کنم دقیقاً همین بحث ID تفاوت را به ما ارائه می دهد
214
00:11:23,760 –> 00:11:26,940
که اکنون به دنبال آن هستیم،
215
00:11:26,940 –> 00:11:29,730
بنابراین که اکنون واقعاً خوب است،
216
00:11:29,730 –> 00:11:32,220
بیایید تصور کنیم که می خواهید همه
217
00:11:32,220 –> 00:11:34,560
آن سرفصل ها را در
218
00:11:34,560 –> 00:11:37,230
اوایل زندگی مایکروسافت پس از مایکروسافت
219
00:11:37,230 –> 00:11:40,950
بشردوستانه و غیره دریافت کنید و می بینید. آنها
220
00:11:40,950 –> 00:11:43,200
در اینجا ذخیره می شوند، بیایید دوباره به
221
00:11:43,200 –> 00:11:44,940
مرورگر برویم، به نظر می رسد آنها در
222
00:11:44,940 –> 00:11:48,600
جایی زیر این div ذخیره شده اند و سپس
223
00:11:48,600 –> 00:11:51,180
به نظر می رسد که آنها در این لیست نامرتب هستند
224
00:11:51,180 –> 00:11:54,840
و سپس می بینید که اوایل زندگی در
225
00:11:54,840 –> 00:11:59,160
سمت چپ به سطح بحث کلاس یک اختصاص داده شده است
226
00:11:59,160 –> 00:12:02,790
و سپس مایکروسافت در اینجا به نظر می رسد
227
00:12:02,790 –> 00:12:07,410
که به بحث سطح یک بحث بخش دوم اختصاص داده شده است،
228
00:12:07,410 –> 00:12:12,300
بنابراین به نظر می رسد که تمام
229
00:12:12,300 –> 00:12:14,880
سرصفحه های اینجا در سطح سرصفحه
230
00:12:14,880 –> 00:12:17,760
با یک کلاس بحث سطح یک تخصیص داده شده اند،
231
00:12:17,760 –> 00:12:21,180
بنابراین بیایید سعی کنیم این را کرری کنیم
232
00:12:21,180 –> 00:12:25,410
تا این یک عنصر هوشمند باشد. h یک کلاس برای
233
00:12:25,410 –> 00:12:29,450
صحبت سطح یک بیایید سعی کنیم این Li را پرس و جو
234
00:12:29,450 –> 00:12:33,150
کنیم و ID نیست اینجا یک کلاس است
235
00:12:33,150 –> 00:12:36,390
و در اینجا باید مراقب
236
00:12:36,390 –> 00:12:38,700
باشید که نمی توانید فقط کلاس بنویسید،
237
00:12:38,700 –> 00:12:40,440
باید از این زیر خط استفاده کنید زیرا
238
00:12:40,440 –> 00:12:43,500
Klaus یک کلمه کلیدی رزرو شده است و
239
00:12:43,500 –> 00:12:48,450
جنگهای کلاسی که در اینجا آن را داشتیم
240
00:12:48,450 –> 00:12:54,060
سطح صحبت -1 سطح صحبت -1 بیایید سعی کنیم
241
00:12:54,060 –> 00:12:58,230
آن را اجرا کنیم و ممکن است از قبل حدس بزنید
242
00:12:58,230 –> 00:13:00,860
که چه چیزی به ما می دهد بنابراین به ما
243
00:13:00,860 –> 00:13:05,250
leeteuk سطح 1 زندگی اولیه می
244
00:13:05,250 –> 00:13:09,930
دهد و فقط اولین ضربه ما را به ما می دهد. find بنابراین
245
00:13:09,930 –> 00:13:13,350
این تابع find همیشه
246
00:13:13,350 –> 00:13:15,540
اولین عنصر را ارائه می دهد اما تابع دیگری وجود دارد
247
00:13:15,540 –> 00:13:20,369
که به آن find all
248
00:13:20,369 –> 00:13:24,879
می گویند و اگر این را اجرا کنید
249
00:13:24,879 –> 00:13:27,399
بعد از اولین ضربه متوقف نمی
250
00:13:27,399 –> 00:13:30,040
شود تا زمانی که تمام رکوردهای اینجا را داشته باشد و
251
00:13:30,040 –> 00:13:34,019
سعی کنیم از آن استفاده کنیم ادامه می یابد. و آن را چاپ کنید و
252
00:13:34,019 –> 00:13:37,809
اکنون اینجا را می بینید که همه عناصر لیست
253
00:13:37,809 –> 00:13:40,389
را با سطح بحث کلاس یک دریافت
254
00:13:40,389 –> 00:13:44,769
می کند، بسیار شبیه به رسانه هایی
255
00:13:44,769 –> 00:13:48,009
که در اینجا پیدا می کنید و اکنون بیایید
256
00:13:48,009 –> 00:13:49,869
این را کمی زیباتر کنیم، بنابراین
257
00:13:49,869 –> 00:13:52,449
شاید در اولین قدم بیایید آن را
258
00:13:52,449 –> 00:13:57,879
به متغیر c اختصاص دهیم محتوای برابر است با سوپ
259
00:13:57,879 –> 00:14:01,149
همه لیست ها را با کلاس صحبت سطح یک پیدا کنید و
260
00:14:01,149 –> 00:14:04,019
برای یک لحظه به این صورت ظاهر می شود و
261
00:14:04,019 –> 00:14:09,179
سپس بیایید این کار را برای ورود در مطالب این کار را انجام دهیم
262
00:14:09,179 –> 00:14:17,350
دوست متن نقطه ورود، بنابراین ما
263
00:14:17,350 –> 00:14:20,859
فقط متن را در اینجا دریافت می کنیم و
264
00:14:20,859 –> 00:14:22,989
بقیه موارد را دریافت نمی کنیم، پس بیایید سعی کنیم برای اجرای
265
00:14:22,989 –> 00:14:26,529
یک بار دیگر اسکریپت و اکنون می بینید که
266
00:14:26,529 –> 00:14:28,989
این بسیار زیباتر به نظر می رسد، بنابراین
267
00:14:28,989 –> 00:14:32,439
شما یک پنجره اصلی برای مشارکت IBM را
268
00:14:32,439 –> 00:14:34,329
می بینید، بنابراین شما واقعاً
269
00:14:34,329 –> 00:14:36,730
همه چیزهایی را که به سطح بحث کلاس یک اختصاص داده شده است، دریافت خواهید کرد
270
00:14:36,730 –> 00:14:39,850
که در اینجا واقعاً خوب است،
271
00:14:39,850 –> 00:14:46,809
بنابراین اینگونه است واقعاً میتوانید
272
00:14:46,809 –> 00:14:49,509
اطلاعات مرتبطی را
273
00:14:49,509 –> 00:14:52,449
که میخواهید با آنها کار کنید، از وب به
274
00:14:52,449 –> 00:14:54,910
اسکریپت خود جذب کنید و سپس آنها را در یک
275
00:14:54,910 –> 00:14:58,720
فایل در یک قاب داده در یک پایگاه داده ذخیره کنید،
276
00:14:58,720 –> 00:15:03,459
بنابراین این در مورد
277
00:15:03,459 –> 00:15:05,199
اصول اولیه یک سوپ زیبا است و ما
278
00:15:05,199 –> 00:15:07,959
به شدت از آن استفاده خواهیم کرد. از آنها در پروژه ما،
279
00:15:07,959 –> 00:15:11,829
زمانی که ما خزنده آمازون خود را
280
00:15:11,829 –> 00:15:13,779
همین الان می نویسیم، اما یک مرحله در این
281
00:15:13,779 –> 00:15:16,569
بین وجود دارد، بنابراین یک مشکل وجود دارد، بنابراین شما
282
00:15:16,569 –> 00:15:19,749
نمی توانید تمام صفحاتی را که می خواهید در اینترنت خراشیده کنید
283
00:15:19,749 –> 00:15:22,149
، اجازه دهید من به دنبال یک مثال بگردم
284
00:15:22,149 –> 00:15:26,049
. o let me go to mobility پلتفرمی است
285
00:15:26,049 –> 00:15:29,709
که در آن می توانید به من آسیب برسانید
286
00:15:29,709 –> 00:15:32,709
و ماشین های دست دوم را جستجو کنید و ماشین های دست دومی بخرید که
287
00:15:32,709 –> 00:15:33,850
به زبان انگلیسی در اینجا
288
00:15:33,850 –> 00:15:38,170
به من اجازه دهید فقط یک پرس و جو را در اینجا اجرا کنم و شما
289
00:15:38,170 –> 00:15:41,320
لیستی از ماشین های دست دوم را در اینجا ببینید که
290
00:15:41,320 –> 00:15:45,610
می توانید از اینجا بخرید. این پلتفرم و بیایید
291
00:15:45,610 –> 00:15:48,250
سعی کنیم این را با اسکریپت خود بخزیم، بنابراین
292
00:15:48,250 –> 00:15:52,570
بیایید ul را در اینجا مبادله کنیم،
293
00:15:52,570 –> 00:15:54,760
بقیه را نگه داریم، اجازه دهید سوپ را اینجا نگه داریم و بیایید
294
00:15:54,760 –> 00:15:58,390
سوپ را چاپ کنیم و بقیه را حذف
295
00:15:58,390 –> 00:16:03,520
کنیم، بیایید سعی کنیم آن را اجرا کنیم،
296
00:16:03,520 –> 00:16:08,350
اساساً به ما پاسخ می دهد، اما به نظر می رسد
297
00:16:08,350 –> 00:16:10,570
در این مورد محتویات صفحه نباشد،
298
00:16:10,570 –> 00:16:14,020
بنابراین برخی اطلاعات وجود دارد، اما از
299
00:16:14,020 –> 00:16:16,030
اینجا شروع می شود، از اینجا شروع می شود، اما
300
00:16:16,030 –> 00:16:19,300
به نوعی به این شکل به نظر نمی رسد و اساساً
301
00:16:19,300 –> 00:16:21,940
در اینجا به شما پاسخ می دهد، متأسفانه
302
00:16:21,940 –> 00:16:24,550
دسترسی خودکار به این صفحه رد شد
303
00:16:24,550 –> 00:16:26,410
اگر شما هستید علاقه مند به دسترسی به
304
00:16:26,410 –> 00:16:28,810
داده های ما لطفاً با ما تماس بگیرید، بنابراین اساساً
305
00:16:28,810 –> 00:16:32,110
شما مجاز به حذف اطلاعات
306
00:16:32,110 –> 00:16:34,900
از این وب سایت به صورت برنامه ای نیستید، به
307
00:16:34,900 –> 00:16:37,500
همین دلیل است که در اینجا به سادگی این صفحه
308
00:16:37,500 –> 00:16:41,140
را می بینید یا با شناسه تاریخ Hess کسب درآمد می کنید، بنابراین
309
00:16:41,140 –> 00:16:44,140
API sw را ارائه می دهد. می توانید تماس بگیرید که
310
00:16:44,140 –> 00:16:46,690
هزینه کمی برای هر درخواست API دارد،
311
00:16:46,690 –> 00:16:48,760
بنابراین آنها خراش دادن برای این صفحه را ممنوع کردند،
312
00:16:48,760 –> 00:16:51,220
بنابراین فقط برای اینکه این را در ذهن خود نگه دارید،
313
00:16:51,220 –> 00:16:53,230
نمی توانید تمام صفحاتی را که می خواهید خراش دهید،
314
00:16:53,230 –> 00:16:56,560
زمان مناسبی برای رفتن
315
00:16:56,560 –> 00:16:59,320
به پروژه ما یا کامل کردن آن وجود دارد. -فلج شده amadon
316
00:16:59,320 –> 00:17:03,640
web scraper پس بیایید به amazon.com برویم یا
317
00:17:03,640 –> 00:17:06,040
اول از همه به شما نشان می دهم که چه چیزی ادامه خواهد
318
00:17:06,040 –> 00:17:07,990
داشت و می سازیم بنابراین اول از همه
319
00:17:07,990 –> 00:17:10,150
به آمازون می رویم و کارت گرافیک را جستجو می
320
00:17:10,150 –> 00:17:12,790
کنیم و چیزهای زیادی پیدا می کنیم از
321
00:17:12,790 –> 00:17:15,760
اطلاعات کارت گرافیک با نام ها با رتبه بندی
322
00:17:15,760 –> 00:17:18,400
با قیمت و غیره و ما یک
323
00:17:18,400 –> 00:17:20,619
اسکراپر می سازیم که این اطلاعات را
324
00:17:20,619 –> 00:17:23,410
از amazon.com استخراج می کند و آن را
325
00:17:23,410 –> 00:17:26,319
به یک برگه اکسل مانند این انتقال می دهد، خوب پس
326
00:17:26,319 –> 00:17:29,560
بیایید شروع کنیم، اول از همه UL را کپی کنیم
327
00:17:29,560 –> 00:17:33,670
و به اسکریپت خود برگردیم اساساً
328
00:17:33,670 –> 00:17:37,140
اجازه دهید ویکی را که
329
00:17:39,180 –> 00:17:45,980
من اینجا ایستاده بودم کپی کنیم و نام آن را به amazon.de
330
00:17:46,010 –> 00:17:50,180
exchange ul تغییر دهیم و سپس با
331
00:17:50,180 –> 00:17:53,820
بررسی صفحه شروع کنیم، بنابراین بیایید در
332
00:17:53,820 –> 00:17:56,010
سمت راست در اینجا پایین بیاییم و ببینیم که آیا
333
00:17:56,010 –> 00:17:58,080
در سمت چپ برجسته می شود تا به نظر می رسد.
334
00:17:58,080 –> 00:18:00,240
همه نتایج اینجاست که این را
335
00:18:00,240 –> 00:18:01,800
کمی کوچکتر می کند در سمت چپ که
336
00:18:01,800 –> 00:18:05,100
ما چندین نتیجه را مانند این می بینیم و
337
00:18:05,100 –> 00:18:07,530
به نظر می رسد همه نتایج اینجا در
338
00:18:07,530 –> 00:18:10,320
بدنه هستند، بنابراین بیایید فناوری بدنه را باز کنیم،
339
00:18:10,320 –> 00:18:14,550
بیایید از طریق همه این برچسب ها حرکت کنیم و
340
00:18:14,550 –> 00:18:16,590
ببینیم کجا علامت گذاری شده است و اینجاست
341
00:18:16,590 –> 00:18:18,750
به نظر می رسد یک صفحه div است که در آن تمام
342
00:18:18,750 –> 00:18:21,600
اطلاعات دوباره در آن ذخیره می شود
343
00:18:21,600 –> 00:18:24,630
، تعداد زیادی اسکریپت و چیزهای دیگر و غیره وجود دارد و
344
00:18:24,630 –> 00:18:27,990
می بینید که در این جستجوی ID div بیایید که در
345
00:18:27,990 –> 00:18:30,120
آن همه نتایج در سمت چپ برجسته شده اند
346
00:18:30,120 –> 00:18:33,120
، بنابراین بیایید این div را باز کنیم. و پس از
347
00:18:33,120 –> 00:18:36,690
آن بیشتر است، بنابراین یک کلاس div دیگری
348
00:18:36,690 –> 00:18:39,990
به عنوان دسکتاپ وجود دارد، اجازه دهید این یکی را باز کنیم و اجازه دهید
349
00:18:39,990 –> 00:18:43,220
ابتدا آن را پایین بیاوریم، سپس یک div وجود دارد که
350
00:18:43,220 –> 00:18:46,020
ستون سمت چپ را برجسته می کند که
351
00:18:46,020 –> 00:18:48,360
ما به آن علاقه نداریم، بنابراین اجازه دهید
352
00:18:48,360 –> 00:18:50,280
به مرحله بعدی برویم و این امیدوارکننده تر به نظر می رسد.
353
00:18:50,280 –> 00:18:53,130
این دوباره تمام نتایج جستجو را برجسته می کند،
354
00:18:53,130 –> 00:18:56,670
بنابراین اجازه دهید آن را باز کنیم، سپس
355
00:18:56,670 –> 00:19:02,100
یک div دیگری را در داخل پیدا می کنیم و سپس در زیر
356
00:19:02,100 –> 00:19:04,920
، تعداد زیادی دهانه را پیدا می کنیم و به نوعی
357
00:19:04,920 –> 00:19:10,470
گم شده ایم، اما به نظر می رسد اینجا یک محدوده
358
00:19:10,470 –> 00:19:13,350
به نام نتایج جستجو است که امیدوارکننده به نظر می رسد
359
00:19:13,350 –> 00:19:15,660
و در زیر re یک کلاس div div دیگری است
360
00:19:15,660 –> 00:19:21,120
به عنوان لیست نتایج با و سپس در
361
00:19:21,120 –> 00:19:23,670
زیر به نظر می رسد که نتایج منفرد
362
00:19:23,670 –> 00:19:25,770
برجسته شده اند، بنابراین فکر می کنم ما به
363
00:19:25,770 –> 00:19:28,320
دنبال این div هستیم در اینجا تفاوت یک
364
00:19:28,320 –> 00:19:31,740
لیست نتیجه کلاس بود، بنابراین اجازه دهید
365
00:19:31,740 –> 00:19:35,880
ابتدا این را در اسکریپت خود ایجاد کنیم. می
366
00:19:35,880 –> 00:19:37,860
تواند محتوای صفحه سوپ زیبای سوپ
367
00:19:37,860 –> 00:19:40,260
را تجزیه کننده HTML نگه دارد زیرا ما فقط
368
00:19:40,260 –> 00:19:43,470
UL را مبادله می کنیم و با این
369
00:19:43,470 –> 00:19:45,420
نظر آن را به یک شی سوپ زیبا منتقل می کنیم،
370
00:19:45,420 –> 00:19:47,640
اما پس از آن
371
00:19:47,640 –> 00:19:50,340
باید کد خود را تغییر دهیم، بنابراین اول از همه
372
00:19:50,340 –> 00:19:54,090
بیایید یک محتوای متغیر را اعلام کنیم
373
00:19:54,090 –> 00:19:57,300
و آن را جستجو کنیم. تفاوتی که به تازگی
374
00:19:57,300 –> 00:20:01,200
در صفحه پیدا کردیم، بنابراین نقطه سوپ تفاوت را با
375
00:20:01,200 –> 00:20:06,110
نام کلاس برابر پیدا کنید و نام
376
00:20:06,110 –> 00:20:12,350
این بود، منهای نتیجه منهای لیست
377
00:20:14,330 –> 00:20:21,600
لیست، اجازه دهید آن را چاپ کنیم و اسکریپت خود را اجرا کنیم
378
00:20:21,600 –> 00:20:29,510
تا پایین و منطقه نقطه py
379
00:20:29,510 –> 00:20:33,300
و در واقع خیلی چاپ می شود، بنابراین
380
00:20:33,300 –> 00:20:35,970
شما اینجا چیزهای زیادی می بینید و می بینید که
381
00:20:35,970 –> 00:20:39,420
مربوط به کارت های گرافیکی است مانند MS igt
382
00:20:39,420 –> 00:20:42,090
هزار و سی و غیره تا حدودی
383
00:20:42,090 –> 00:20:45,870
مرتبط است، اما همانطور که صفحه را بررسی کردیم
384
00:20:45,870 –> 00:20:48,780
، لیست کامل همه نتایج جستجو است
385
00:20:48,780 –> 00:20:51,690
. ts و ما می خواهیم اساساً
386
00:20:51,690 –> 00:20:54,360
نتیجه پس از نتیجه پس از نتیجه به دست آوریم، بنابراین
387
00:20:54,360 –> 00:20:58,350
بیایید ابتدا آن را بررسی کنیم و ببینیم آیا به اینجا می رویم
388
00:20:58,350 –> 00:21:01,470
de Fayed، اگر چنین است که به نظر می رسد هر
389
00:21:01,470 –> 00:21:05,160
نتیجه جستجو در یک div برجسته شده یا
390
00:21:05,160 –> 00:21:09,960
در یک div ذخیره می شود و به نظر می رسد که همه
391
00:21:09,960 –> 00:21:14,990
آنها یک نام کلاس دارند. در اینجا به عنوان آیتم نتیجه،
392
00:21:14,990 –> 00:21:18,450
بنابراین اگر به اینجا بالا و پایین بروید، می بینید که
393
00:21:18,450 –> 00:21:20,700
یکی پس از دیگری برجسته شده اند و
394
00:21:20,700 –> 00:21:24,240
همه آنها دارای یک نام کلاس به عنوان
395
00:21:24,240 –> 00:21:29,010
آیتم های نتیجه هستند، بنابراین
396