در این مطلب، ویدئو ابزارهای خراش وب پایتون: یک نظرسنجی با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,000 –> 00:00:02,220
خیلی خوب به نظر می رسد، بنابراین من
2
00:00:02,220 –> 00:00:04,290
سعی می کنم این کار را با پیوندهایی به
3
00:00:04,290 –> 00:00:07,350
نمونه کدهایی که در مخزن github
4
00:00:07,350 –> 00:00:09,450
هستند انجام دهم، بنابراین خواهیم دید که آیا Wi-Fi
5
00:00:09,450 –> 00:00:12,480
آن را صاف می کند یا همه
6
00:00:12,480 –> 00:00:15,059
نمونه هایی که همه چیز به اشتراک گذاشته شده عمومی است.
7
00:00:15,059 –> 00:00:16,800
مارتین بعداً پیوندها را می فرستد
8
00:00:16,800 –> 00:00:19,260
یا چیزی درست است، بنابراین من
9
00:00:19,260 –> 00:00:21,180
می خواهم یک نظرسنجی از ابزارهای خراش دادن وب ارائه کنم،
10
00:00:21,180 –> 00:00:25,320
بنابراین فرآیند ساده خراش دادن وب چیست که در
11
00:00:25,320 –> 00:00:27,119
آن شما از رایانه
12
00:00:27,119 –> 00:00:29,160
برای مصرف محتوایی استفاده می کنید که هدف آن
13
00:00:29,160 –> 00:00:32,159
افرادی است که قیمت ها را از خرید کپی می کنند.
14
00:00:32,159 –> 00:00:34,530
دادههای مالی وبسایتها از
15
00:00:34,530 –> 00:00:36,630
وبسایتهای بورس اوراق بهادار
16
00:00:36,630 –> 00:00:38,370
خارج میشوند، اگر میخواهید همه چیز را میخواهید، میتوانید توییتها را از توییتر حذف کنید
17
00:00:38,370 –> 00:00:41,340
، بسیاری از مسائل حقوقی و دیگر
18
00:00:41,340 –> 00:00:43,559
در این فضا وجود دارد.
19
00:00:43,559 –> 00:00:45,270
20
00:00:45,270 –> 00:00:47,129
21
00:00:47,129 –> 00:00:49,410
اگر
22
00:00:49,410 –> 00:00:50,760
میخواهید برای سرگرمی این کار را انجام دهید،
23
00:00:50,760 –> 00:00:51,989
اگر میخواهید این کار را به عنوان بخشی از کارتان انجام دهید، خیلی خوب است، اگر میخواهید این کار را به عنوان بخشی از کارتان
24
00:00:51,989 –> 00:00:54,500
انجام دهید، به طور جدی با بخش حقوقی خود صحبت کنید،
25
00:00:54,500 –> 00:00:56,760
این فقط بسیار پیچیده
26
00:00:56,760 –> 00:00:57,960
است، بد نیست، j بسیار بسیار
27
00:00:57,960 –> 00:01:02,219
پیچیده است، پس بسیار خوب، بنابراین پایتون
28
00:01:02,219 –> 00:01:04,470
تعداد زیادی بسته برای
29
00:01:04,470 –> 00:01:06,540
خراش دادن وب دارد که انواع موارد استفاده را پوشش می دهد
30
00:01:06,540 –> 00:01:09,750
و پایتون به
31
00:01:09,750 –> 00:01:11,610
خوبی با متن برخورد می کند، بنابراین وقتی یک
32
00:01:11,610 –> 00:01:13,640
لکه متن را از یک وب سایت بردارید،
33
00:01:13,640 –> 00:01:16,259
پایتون آن لکه را دریافت می کند. متن خاموش میتواند
34
00:01:16,259 –> 00:01:18,570
کمی آشفته باشد و بسیاری از
35
00:01:18,570 –> 00:01:20,970
بستهها به نوعی اغراقآمیز میکنند که میتوانند
36
00:01:20,970 –> 00:01:24,930
انجام دهند، بنابراین مهم است که بگوییم که
37
00:01:24,930 –> 00:01:27,450
scraping وب کاملاً تحت سلطه
38
00:01:27,450 –> 00:01:29,670
عملکرد شبکه است، بنابراین ما حتی
39
00:01:29,670 –> 00:01:31,500
در برخی از نمونهها در اینجا خواهیم دید.
40
00:01:31,500 –> 00:01:34,560
وایفای اینجا یا کروم فکر میکنم
41
00:01:34,560 –> 00:01:36,360
چیزی هستند که سرعت آن را کاهش میدهند، بنابراین
42
00:01:36,360 –> 00:01:38,040
هیچ بستهای سریعتر از بستههای دیگر
43
00:01:38,040 –> 00:01:39,659
نیست، هیچ چاپی انجام نمیدهد و
44
00:01:39,659 –> 00:01:41,759
زمانی را در پایتون صرف نمیکند و تمام وقت خود را صرف
45
00:01:41,759 –> 00:01:44,220
جستجوی DNS و جاوا اسکریپت میکند.
46
00:01:44,220 –> 00:01:45,890
اجرا و انواع چیزهایی از این قبیل
47
00:01:45,890 –> 00:01:47,490
کاملاً درست است
48
00:01:47,490 –> 00:01:51,149
و سپس محتوای وب، بنابراین این
49
00:01:51,149 –> 00:01:53,310
چیزی است که ابزارهای خراش دادن
50
00:01:53,310 –> 00:01:55,409
مورد نیاز شما را هدایت می کند، اگر به موارد بسیار
51
00:01:55,409 –> 00:01:57,090
ساده نگاه می کنید، بنابراین آنچه را که من در
52
00:01:57,090 –> 00:01:59,670
کادر تجزیه متن دارم، اساساً HTML
53
00:01:59,670 –> 00:02:03,420
و HTML آن به خوبی شکل گرفته است. من فرض میکنم اکثر
54
00:02:03,420 –> 00:02:04,979
مردم اینجا قبلاً نوعی
55
00:02:04,979 –> 00:02:07,229
صفحه وب را نوشتهاند و شما در
56
00:02:07,229 –> 00:02:08,580
جایی که علامتهای بزرگتر و
57
00:02:08,580 –> 00:02:09,780
کمتر از نمادها را قرار دهید اشتباه کردهاید، اگر این کار را انجام میدهید،
58
00:02:09,780 –> 00:02:10,119
59
00:02:10,119 –> 00:02:13,870
بله، من این کار را به عنوان بله، بنابراین
60
00:02:13,870 –> 00:02:16,000
اگر واقعاً معتبر است و فقط HTML است،
61
00:02:16,000 –> 00:02:18,220
میتوانید حتی بدون
62
00:02:18,220 –> 00:02:20,040
بستهبندی و فقط با استفاده از زبانهای داخلی پایتون خلاص شوید،
63
00:02:20,040 –> 00:02:22,900
اگر متن دنیای واقعی دارید، بنابراین
64
00:02:22,900 –> 00:02:23,830
اینجا، در گوشه پایین سمت چپ،
65
00:02:23,830 –> 00:02:25,629
میروید به چیزی نیاز دارید که
66
00:02:25,629 –> 00:02:27,670
متن نامعتبر را کنترل کند و متن نامعتبر
67
00:02:27,670 –> 00:02:29,709
را در وب سایت های دولتی در وب سایت
68
00:02:29,709 –> 00:02:31,900
های تجارت الکترونیک در وب سایت های واقعاً ساده دریافت
69
00:02:31,900 –> 00:02:33,370
می کنید که در آنها نمی توانید
70
00:02:33,370 –> 00:02:34,660
صد و پنجاه کاراکتر را باور کنید که
71
00:02:34,660 –> 00:02:38,290
متن نامعتبر دارند اما آنها در
72
00:02:38,290 –> 00:02:39,879
گوشه سمت راست بالا خوب هستند. چیزهایی دارم که
73
00:02:39,879 –> 00:02:43,750
شامل جاوا اسکریپت html5 هر یک از
74
00:02:43,750 –> 00:02:46,090
صدها افزونه وب موجود در
75
00:02:46,090 –> 00:02:47,920
برخی از مرورگرها و گره ها و در همه
76
00:02:47,920 –> 00:02:50,260
جا وجود دارد که نمی
77
00:02:50,260 –> 00:02:51,459
توانید خودتان این کار را انجام دهید، باید
78
00:02:51,459 –> 00:02:52,810
از چیزی استفاده کنید که فرآیندهایی که
79
00:02:52,810 –> 00:02:54,910
دیوانه کننده هستند ess و سپس شما در
80
00:02:54,910 –> 00:02:56,769
گوشه سمت راست پایین 99٪ از
81
00:02:56,769 –> 00:02:58,569
صفحات وب را دارید که صفحاتی هستند که دارای خطا هستند
82
00:02:58,569 –> 00:03:00,489
و از افزونه های مسخره استفاده می کنند که
83
00:03:00,489 –> 00:03:02,530
احتمالاً خودتان نمی توانید آن را مدیریت کنید، بنابراین همه
84
00:03:02,530 –> 00:03:04,450
ما ارتقاء مداوم در کروم
85
00:03:04,450 –> 00:03:06,579
و سافاری را تجربه کرده ایم. و هر چیز دیگری که
86
00:03:06,579 –> 00:03:08,170
همه در این گوشه اینجا زندگی می کنند،
87
00:03:08,170 –> 00:03:13,510
خوب است، بنابراین فقط یک کاوش مختصر در مورد
88
00:03:13,510 –> 00:03:14,650
چیزهایی که به عنوان چیزهای پیچیده به حساب نمی آیند، به عنوان چیزهایی پیچیده به حساب نمی آیند،
89
00:03:14,650 –> 00:03:16,959
90
00:03:16,959 –> 00:03:18,489
احتمالاً می توانید خودتان انجام دهید
91
00:03:18,489 –> 00:03:21,130
که به معنای محتوای دهه 90 است.
92
00:03:21,130 –> 00:03:23,500
بنابراین فرمهایی را که میتوانید پست کنید و به خودتان نشان دهید که
93
00:03:23,500 –> 00:03:25,450
مردم پستهای فروم را انجام دادهاند، من
94
00:03:25,450 –> 00:03:28,090
فرض میکنم هر چیزی که دارای جاوا اسکریپت
95
00:03:28,090 –> 00:03:30,310
css3 باشد، هر چیزی که نسخه مرورگر
96
00:03:30,310 –> 00:03:32,079
مهم باشد، هر چیزی که تلفن همراه شما را مسدود کند،
97
00:03:32,079 –> 00:03:33,849
هر چیزی که
98
00:03:33,849 –> 00:03:36,130
نسخهای که شما واقعاً
99
00:03:36,130 –> 00:03:36,880
قادر به انجام آن نیستید خراب شود.
100
00:03:36,880 –> 00:03:39,370
اگر فقط متون ساده هستند ابزارهای بسیار نازک خود را پایین بیاورید،
101
00:03:39,370 –> 00:03:42,329
102
00:03:42,329 –> 00:03:44,319
پس ما ساده ترین اسکراپر ممکن را می نویسیم،
103
00:03:44,319 –> 00:03:46,329
من
104
00:03:46,329 –> 00:03:49,150
مثال HTML را در اینجا می آورم که باید
105
00:03:49,150 –> 00:03:52,989
کمی بزرگنمایی شود، این متن است.
106
00:03:52,989 –> 00:03:57,750
آیا مردم به اندازه کافی بزرگ می توانند ببینند که HTML خوب است،
107
00:03:57,750 –> 00:03:59,939
اگر مردم بخواهند می توانم این را ارائه کنم، اما من فرض می کنم که
108
00:03:59,939 –> 00:04:01,859
همه در HTML اولیه
109
00:04:01,859 –> 00:04:04,859
خوب هستند، بله خوب است، بنابراین این یک صفحه وب بسیار بسیار ساده است
110
00:04:04,859 –> 00:04:06,359
که تقریباً به همان سادگی است که می
111
00:04:06,359 –> 00:04:11,810
توانید به درستی دریافت کنید، بنابراین مقداری کد اسکراپر
112
00:04:11,810 –> 00:04:15,329
بسیار خوب، بنابراین ما چند
113
00:04:15,329 –> 00:04:17,339
بسته را در اینجا وارد می کنیم، می توانیم به آنچه
114
00:04:17,339 –> 00:04:19,440
بسته ها انجام می دهند بازگردیم، بنابراین این
115
00:04:19,440 –> 00:04:21,478
مقصدی است که به آن می رسیم، همانطور که قبلاً گفتم
116
00:04:21,478 –> 00:04:22,979
همه موارد را در github قرار داده ام،
117
00:04:22,979 –> 00:04:25,949
بنابراین از بسته درخواست ها استفاده می
118
00:04:25,949 –> 00:04:28,560
کند. دسترسی ساده به شبکه دریافت
119
00:04:28,560 –> 00:04:30,389
بسته چیزها، اطلاعات را وارد کنید،
120
00:04:30,389 –> 00:04:34,020
سپس ما در اینجا تجزیه میشویم، بنابراین فقط
121
00:04:34,020 –> 00:04:36,210
میگوییم اینجا یک صفحه است با فرض اینکه یک صفحه معتبر است
122
00:04:36,210 –> 00:04:38,910
آن را تجزیه کنید و سپس اینجا و ما
123
00:04:38,910 –> 00:04:40,050
کمی بیشتر به این موضوع میپردازیم و در
124
00:04:40,050 –> 00:04:42,720
حال نوشتن یک صفحه هستیم. XPath که روشی برای
125
00:04:42,720 –> 00:04:46,139
توصیف در متن HTML XML blobby است
126
00:04:46,139 –> 00:04:48,210
که چه چیزهایی را میخواهیم و سپس
127
00:04:48,210 –> 00:04:51,000
به سادگی آن را اجرا میکنیم و آن را بیرون میآوریم و
128
00:04:51,000 –> 00:04:53,970
در حال چاپ آن هستیم، بنابراین به این
129
00:04:53,970 –> 00:04:58,139
صفحه ساده در اینجا بازگردید و ورودی را زیر
130
00:04:58,139 –> 00:05:00,210
قوی کنید و سپس این متن را بیرون می آورد
131
00:05:00,210 –> 00:05:01,470
مجدداً کمی به نحوه عملکرد
132
00:05:01,470 –> 00:05:04,050
آن در یک ثانیه میپردازیم، باید
133
00:05:04,050 –> 00:05:06,659
یک دو سه چهار پنج را بیرون بکشیم، بنابراین اگر وارد
134
00:05:06,659 –> 00:05:10,800
اینجا شدیم متن خود را به اندازه کافی بزرگ کنید و سه
135
00:05:10,800 –> 00:05:14,580
مثال 1 را اجرا کنیم، باید آنجا بروید
136
00:05:14,580 –> 00:05:18,539
1 2 3 4 5 اسکراپر بسیار بسیار ساده
137
00:05:18,539 –> 00:05:22,660
ساده ترین اسکراپر ممکن احتمالاً
138
00:05:22,660 –> 00:05:26,500
خوب است، بنابراین زبان XPath او که در آنجا دفن کرده بودیم
139
00:05:26,500 –> 00:05:28,750
، یک
140
00:05:28,750 –> 00:05:31,120
زبان پیچیده واقعاً بزرگ است که بیشتر آن
141
00:05:31,120 –> 00:05:33,520
برای دیوانگی XML است که به اسکراپی معمولی وب مربوط نیست،
142
00:05:33,520 –> 00:05:35,350
اما همچنان می توانید
143
00:05:35,350 –> 00:05:37,360
از آن استفاده کنید. زندگی بسیار ساده است، بنابراین
144
00:05:37,360 –> 00:05:40,620
اساساً دادههای شما در یک درخت بزرگ است،
145
00:05:40,620 –> 00:05:43,300
تگها تو در تو قرار دارند و شما در میان
146
00:05:43,300 –> 00:05:45,730
147
00:05:45,730 –> 00:05:47,560
148
00:05:47,560 –> 00:05:50,800
149
00:05:50,800 –> 00:05:52,840
تگها پیمایش میکنید.
150
00:05:52,840 –> 00:05:55,000
تگ تصویر با
151
00:05:55,000 –> 00:05:57,850
منبع ویژگی که مقدار آن XYZ است مانند این
152
00:05:57,850 –> 00:06:00,400
بسیار ساده است و سپس اگر
153
00:06:00,400 –> 00:06:03,520
میخواهید برچسبی باشید که href آن متنی است
154
00:06:03,520 –> 00:06:07,960
که این کار را انجام میدهید، احتمالاً میتوانید یک
155
00:06:07,960 –> 00:06:10,150
صحبت تمام روز در مورد عجیب بودن در XPath
156
00:06:10,150 –> 00:06:11,530
داشته باشید، چند مورد وجود خواهد داشت. از
157
00:06:11,530 –> 00:06:13,090
مثالهای بیشتر در این مورد، اما موضوع
158
00:06:13,090 –> 00:06:14,790
بسیار طولانی و عمیقی است که
159
00:06:14,790 –> 00:06:17,890
در این مرحله ضروری نیست، شما میخواهید
160
00:06:17,890 –> 00:06:19,810
محتوای یک پیوند را با استفاده از آن
161
00:06:19,810 –> 00:06:21,580
کد بسیار مشابه بیرون
162
00:06:21,580 –> 00:06:25,120
163
00:06:25,120 –> 00:06:28,030
بیاورید. اوه و شما می دانید که من
164
00:06:28,030 –> 00:06:32,920
باید دومین لکه HTML را بالا بیاورم، بنابراین
165
00:06:32,920 –> 00:06:34,570
در اینجا ما یک href و یک پیوند
166
00:06:34,570 –> 00:06:38,020
به وب سایت واقعی دولت ایالات متحده
167
00:06:38,020 –> 00:06:39,850
داریم، بنابراین اگر به عقب برگردیم، به کد نمونه خود در اینجا نگاه می کنیم
168
00:06:39,850 –> 00:06:42,600
همه چیز دقیقاً یکسان است
169
00:06:42,600 –> 00:06:45,940
به جز ما. این عصاره ماست به
170
00:06:45,940 –> 00:06:49,180
غیر از اینکه تغییری نمیکند و وقتی
171
00:06:49,180 –> 00:06:53,140
مثال دو را اجرا میکنیم، همه
172
00:06:53,140 –> 00:06:55,090
لینکها را از آن صفحه بیرون میآوریم تا
173
00:06:55,090 –> 00:06:57,210
شروع نشود، لینکهای آن صفحه نیستند
174
00:06:57,210 –> 00:07:00,190
فراموش کنید کد خودم چه میکند آه متاسفم که
175
00:07:00,190 –> 00:07:03,280
این یکی میگیرد. پیوند آه و سپس
176
00:07:03,280 –> 00:07:06,340
ما می رویم، پیوند را دریافت می کنیم، بنابراین می رویم، آن را می
177
00:07:06,340 –> 00:07:08,200
خریم، آن را تجزیه می کنیم، صفحه بعدی را بازیابی می کنیم
178
00:07:08,200 –> 00:07:09,670
و سپس من فقط سرصفحه ها را چاپ می کنم
179
00:07:09,670 –> 00:07:11,620
زیرا صفحه در واقع یک لکه بزرگ
180
00:07:11,620 –> 00:07:12,880
با جاوا اسکریپت و انواع مختلف است. چیزهایی
181
00:07:12,880 –> 00:07:15,520
که شما نمی خواهید، بنابراین می توانید این من هستم
182
00:07:15,520 –> 00:07:18,490
حدس بزنید مینیمال، نه خراشنده، بلکه خزنده وب،
183
00:07:18,490 –> 00:07:19,870
بنابراین ما پیوندی را از یک
184
00:07:19,870 –> 00:07:22,339
صفحه برداشته ایم و آن را در جای ساده دیگری دنبال کرده ایم
185
00:07:22,339 –> 00:07:28,129
تا شروع کنیم، خوب آخرین
186
00:07:28,129 –> 00:07:30,469
نکته کوچک در XPath،
187
00:07:30,469 –> 00:07:31,789
در لحظه ای که به آن نگاه می کنیم، ظاهر می شود. برخی
188
00:07:31,789 –> 00:07:33,499
از معروفترین
189
00:07:33,499 –> 00:07:34,909
بستههای اسکریپتنویسی ساده پایتون که میتوانید
190
00:07:34,909 –> 00:07:37,039
با استفاده از دایرکتوریهای استاندارد از طریق دایرکتوریهای استاندارد حرکت
191
00:07:37,039 –> 00:07:38,779
192
00:07:38,779 –> 00:07:41,779
کنید.
193
00:07:41,779 –> 00:07:44,329
194
00:07:44,329 –> 00:07:45,799
195
00:07:45,799 –> 00:07:47,689
و با قرار دادن هر شرایطی
196
00:07:47,689 –> 00:07:50,569
که در اینجا دارید، تا بتوانیم نگاه کنیم و این
197
00:07:50,569 –> 00:07:56,059
یک کد واقعی است که از یک
198
00:07:56,059 –> 00:07:59,419
نوشته کامل استخراج شده است، بنابراین این یک صفحه وب غیر پیش پا افتاده است،
199
00:07:59,419 –> 00:08:01,459
ما در اینجا جدولی داریم که در آن
200
00:08:01,459 –> 00:08:03,349
در مورد میوه صحبت می کنیم. یک
201
00:08:03,349 –> 00:08:04,759
دسته میوه دارم، سیب و
202
00:08:04,759 –> 00:08:08,559
گلابی و رنگها و قیمتها خوب است،
203
00:08:08,559 –> 00:08:11,809
حالا ما وارد کدمان میشویم که
204
00:08:11,809 –> 00:08:15,409
در اینجا به دنبال آن هستیم، امیدوارم این
205
00:08:15,409 –> 00:08:17,419
چیز عجیب XPath نباشد، ما به
206
00:08:17,419 –> 00:08:21,049
دنبال ورودی هستیم اپل است و سپس
207
00:08:21,049 –> 00:08:23,599
یک درجه بالا می رویم و به دنبال
208
00:08:23,599 –> 00:08:25,459
جایی که قیمت یک بار بیشتر شده است و به
209
00:08:25,459 –> 00:08:27,439
دنبال جایی که رنگ آن است،
210
00:08:27,439 –> 00:08:30,759
کمی ساختگی است زیرا در اینجا یک میز بسیار مسطح
211
00:08:30,759 –> 00:08:34,188
است، اما می توانید در یک
212
00:08:34,188 –> 00:08:35,870
صفحه وب واقعی که دارای HTML تو در تو عمیق بیست سطحی است تصور کنید که
213
00:08:35,870 –> 00:08:37,969
این مقدار زیادی است. بهتر از
214
00:08:37,969 –> 00:08:39,948
215
00:08:39,948 –> 00:08:42,139
هر بار جستجوی مسیرهای فوق العاده طولانی از ابتدا و حتی می توانند
216
00:08:42,139 –> 00:08:43,849
مکان برچسب ها را تغییر دهند، جایی که
217
00:08:43,849 –> 00:08:45,649
هدرهای تبلیغاتی فهرست شده اند و این نوع
218
00:08:45,649 –> 00:08:47,480
موارد به طور کلی همچنان کار می کنند.
219
00:08:47,480 –> 00:08:49,100
220
00:08:49,100 –> 00:08:54,019
اجرا کنید که
221
00:08:54,019 –> 00:08:56,050
اولین عنصر را در اینجا پیدا کنیم که متن اپل را فهرست کرده ایم
222
00:08:56,050 –> 00:08:59,269
و سپس می توانیم
223
00:08:59,269 –> 00:09:01,699
آن عنصر را با مسیر برای ورودی های مربوطه جستجو کنیم
224
00:09:01,699 –> 00:09:03,769
و آنها را چاپ کنیم، همانطور که
225
00:09:03,769 –> 00:09:07,730
قبلاً این یک نسخه نمایشی خیلی هیجان انگیز نیست،
226
00:09:07,730 –> 00:09:10,170
فکر می کنم مثال سه است
227
00:09:10,170 –> 00:09:15,890
نه من. دوباره اشتباه میکنم، مثال 2a است و
228
00:09:15,890 –> 00:09:20,700
رنگ، رنگ
229
00:09:20,700 –> 00:09:24,360
و قیمت را از جدول ما در اینجا چاپ میکند، بنابراین
230
00:09:24,360 –> 00:09:27,000
231
00:09:27,000 –> 00:09:32,400
ناوبری نسبتاً ساده اپل قرمز 5 بود، بسیار خوب،
232
00:09:32,400 –> 00:09:34,950
خب، حالا ما به صفحات وب واقعی میرویم.
233
00:09:34,950 –> 00:09:36,510
چیزهایی نیستند که من نوشتم و
234
00:09:36,510 –> 00:09:39,270
امروز بعد از ظهر خودم آن را در github پست کردم،
235
00:09:39,270 –> 00:09:40,710
بنابراین یک بسته معروف به نام
236
00:09:40,710 –> 00:09:42,690
Beautiful Soup وجود دارد که احتمالاً بسیاری از مردم در مورد آن
237
00:09:42,690 –> 00:09:44,100
شنیده اند و ممکن است برخی
238
00:09:44,100 –> 00:09:46,020
از افراد سعی کرده باشند صفحات وب را پاک کنند
239
00:09:46,020 –> 00:09:48,120
، معروف است زیرا منحنی یادگیری
240
00:09:48,120 –> 00:09:51,120
فوق العاده کوتاه است. این اساساً یک
241
00:09:51,120 –> 00:09:54,630
عملکرد تجزیه و تحلیل و جستجوی API است و این
242
00:09:54,630 –> 00:09:56,580
خوب است زیرا شما می توانید کارهای بسیار ساده را
243
00:09:56,580 –> 00:09:58,470
بسیار سریع انجام دهید زیرا خواهیم دید
244
00:09:58,470 –> 00:10:01,110
که ممکن
245
00:10:01,110 –> 00:10:02,700
است خیلی سریع پیچیدگی زیادی داشته باشید زیرا
246
00:10:02,700 –> 00:10:06,770
یک API برای عملکرد وجود دارد بنابراین اگر اکنون نگاه کنم در a
247
00:10:06,770 –> 00:10:09,810
این یک صفحه وب مناسب دولت ایالات متحده
248
00:10:09,810 –> 00:10:12,570
است که به عنوان تعداد شگفت انگیز
249
00:10:12,570 –> 00:10:13,770
صفحات وب دولتی ما در سراسر جهان نامعتبر است،
250
00:10:13,770 –> 00:10:18,630
بنابراین اگر ما سعی کنیم با استفاده از
251
00:10:18,630 –> 00:10:21,420
کد شکسته در اینجا اجرا کنیم، بنابراین اگر دقیقاً همانطور که قبلاً داشتیم نگاه کنیم
252
00:10:21,420 –> 00:10:24,120
، درخواست ها دریافت می شوند و فقط تجزیه می شوند.
253
00:10:24,120 –> 00:10:26,490
با El XML برای این صفحه و این
254
00:10:26,490 –> 00:10:29,130
مثال 3 است، ما یک شکایت واقعاً غیرجذاب دریافت می کنیم
255
00:10:29,130 –> 00:10:31,440
که چگونه
256
00:10:31,440 –> 00:10:34,740
موارد معتبر نیستند، نمی توانید آن را برطرف
257
00:10:34,740 –> 00:10:36,240
کنید زیرا صفحه وب را کنترل نمی کنید،
258
00:10:36,240 –> 00:10:38,220
بنابراین باید یک کار دیگر انجام دهید که
259
00:10:38,220 –> 00:10:41,210
260
00:10:43,810 –> 00:10:48,550
چیز دیگری است، بله، لینک اجرا
261
00:10:48,550 –> 00:10:50,500
این است که این بسته دیگر را بارگذاری کنید که به نظر من
262
00:10:50,500 –> 00:10:52,840
بسیاری از افراد از سوپ بسیار زیبایی استفاده
263
00:10:52,840 –> 00:10:56,170
می کنند، ما
264
00:10:56,170 –> 00:10:57,910
به جای اجرای
265
00:10:57,910 –> 00:11:00,850
تجزیه کننده ساده XML، Beautiful Soupیی را در صفحه خود اجرا می کنیم و اکنون می توانیم اجرا کنیم. این تنها
266
00:11:00,850 –> 00:11:03,040
روش واقعی است که همه چیز را پیدا کنید و سپس
267
00:11:03,040 –> 00:11:04,630
ما میتوانیم چیزهایی را از آن چاپ بیرون بیاوریم
268
00:11:04,630 –> 00:11:07,510
یا دوباره استفاده از آن بسیار ساده
269
00:11:07,510 –> 00:11:10,450
270
00:11:10,450 –> 00:11:12,400
271
00:11:12,400 –> 00:11:18,960
نیست. بنابراین
272
00:11:18,960 –> 00:11:25,480
این یک قطعه نمونه از HTML یا یک
273
00:11:25,480 –> 00:11:28,090
XPath برای یک قطعه نمونه از HTML است، بنابراین
274
00:11:28,090 –> 00:11:30,280
این باید برای
275
00:11:30,280 –> 00:11:31,870
افرادی که در برخی از سایتها جستجو
276
00:11:31,870 –> 00:11:33,880
کردهاید و صفحه 1 صفحه 2 صفحه 3 را صفحهبندی میکنید، نسبتاً آشنا باشد.
277
00:11:33,880 –> 00:11:37,420
اطلاعات صفحه صفحات، بنابراین ما
278
00:11:37,420 –> 00:11:39,550
بتوانیم این چیزهای کوچک را در پایتون بسازیم
279
00:11:39,550 –> 00:11:40,840
که همه آنها بسیار ساده است، این
280
00:11:40,840 –> 00:11:43,810
چیزی است که پایتون ها در آن خوب هستند، اما سپس سعی می
281
00:11:43,810 –> 00:11:45,760
کنند این ترکیبی از
282
00:11:45,760 –> 00:11:48,280
شرایط را جستجو کنند زیرا beautifulsoup
283
00:11:48,280 –> 00:11:50,260
بزرگترین api جستجوی جهان را ندارد. و در
284
00:11:50,260 –> 00:11:53,140
نهایت مجموعهای مضحک از
285
00:11:53,140 –> 00:11:55,150
حلقههای for را میسازیم و اگر شرایط میتواند
286
00:11:55,150 –> 00:11:57,130
خیلی سریع از کنترل خارج شود یا
287
00:11:57,130 –> 00:12:00,820
میتوانیم از اینجا استفاده کنیم همه چیزهایی را که میتوانیم ارسال کنیم دارای
288
00:12:00,820 –> 00:12:03,400
تابعهایی هستند، هر پایتونی که میتوانیم
289
00:12:03,400 –> 00:12:04,810
در تابعی از آن پاس کنیم،
290
00:12:04,810 –> 00:12:07,240
این مقایسه انجام نمیشود. این به
291
00:12:07,240 –> 00:12:09,610
ویژه سریع است، بنابراین API ساده ما
292
00:12:09,610 –> 00:12:12,010
به یک API عملکردی تبدیل شده است، به
293
00:12:12,010 –> 00:12:14,140
علاوه اینکه من توابع خودم را می نویسم
294
00:12:14,140 –> 00:12:15,280
و آنها را به توابع خود منتقل می کنم بر
295
00:12:15,280 –> 00:12:17,170
ی هر موردی، این فوق العاده نیست، ما
296
00:12:17,170 –> 00:12:19,080
هتر است ای
297
00:12:19,080 –> 00:12:23,170
XPath را بنویسیم و فقط از
298
00:12:23,170 –> 00:12:26,110
خودمان عبور کنیم، هیچ پیچیدگی واقعی
299
00:12:26,110 –> 00:12:27,730
در آن منطقی
300
00:12:27,730 –> 00:12:32,150
وجود ندارد، بسیار درست است، خیلی خوب، ما می خواهیم
301
00:12:32,150 –> 00:12:34,130
میدان هایی را بیرون بیاوریم، این بسیار آشنا به نظر می رسد
302
00:12:34,130 –> 00:12:40,280
هنگامی که عناصر خود را بدست آورید،
303
00:12:40,280 –> 00:12:42,080
در حال جستجوی هر چیزی هستید که هر چیزی را که پیدا می کنید،
304
00:12:42,080 –> 00:12:45,050
همه برچسب های شما را پیدا می کنید. برداشتن
305
00:12:45,050 –> 00:12:47,630
متن را گسترش دهید، جایی که چیزهای شما در آنجا هستند
306
00:12:47,630 –> 00:12:47,990
،
307
00:12:47,990 –> 00:12:49,580
هر چیزی که
308
00:12:49,580 –> 00:12:51,830
برای آن مینویسید، به هر حال برای حلقهها به آنجا
309
00:12:51,830 –> 00:12:54,110
میرسید، اگر منطق هرچه باشد، و سپس
310
00:12:54,110 –> 00:12:56,360
چون پایتون است و واقعاً این i
311
00:12:56,360 –> 00:12:58,100
به وضوح کدی نیست که کسی باید از آن استفاده کند، اما
312
00:12:58,100 –> 00:13:00,200
به خوبی در یک ارائه یک اسلاید جا میشود،
313
00:13:00,200 –> 00:13:02,420
سپس میتوانید کاری را که باید
314
00:13:02,420 –> 00:13:04,010
با متنی که دوباره بیرون آوردهاید انجام دهید و در این
315
00:13:04,010 –> 00:13:06,200
مورد ما فکر میکنیم یک شی تاریخ/زمان
316
00:13:06,200 –> 00:13:10,910
از آن بسازیم. احمق نباش من
317
00:13:10,910 –> 00:13:12,020
هیچ کس فکر نمی کنم که من
318
00:13:12,020 –> 00:13:13,880
درست Matt را توصیه کنم، اما در یک خط قرار می گیرد، بنابراین
319
00:13:13,880 –> 00:13:16,310
شما می دانید، اما به همین دلیل است که ما در وهله اول در پایتون هستیم
320
00:13:16,310 –> 00:13:17,600
زیرا
321
00:13:17,600 –> 00:13:19,610
بازی کردن با متنی که ما واقعاً ساده است
322
00:13:19,610 –> 00:13:25,280
. خوب mm-hmm را استخراج کردم بعدی
323
00:13:25,280 –> 00:13:29,090
اکنون
324
00:13:29,090 –> 00:13:31,400
جاوا اسکریپت زیبا هیچ علاقه ای به جاوا اسکریپت ندارد جاوا اسکریپت
325
00:13:31,400 –> 00:13:33,200
326
00:13:33,200 –> 00:13:35,000
برای اجرا به مترجم خاص خود نیاز دارد و همانطور که همه کسانی که تا به حال از مرورگر وب استفاده کرده اند
327
00:13:35,000 –> 00:13:37,730
می دانند که گاهی اوقات می تواند بد رفتار
328
00:13:37,730 –> 00:13:41,000
کند، بنابراین اکنون ما به یک مرورگر مناسب نیاز داریم.
329
00:13:41,000 –> 00:13:43,130
بسته رانندگی بنابراین ما می خواهیم
330
00:13:43,130 –> 00:13:45,950
از سلنیوم استفاده کنیم، چند مورد وجود دارد که
331
00:13:45,950 –> 00:13:47,540
فکر می کنم کامل ترین آنها
332
00:13:47,540 –> 00:13:49,370
هستند و سپس باید از
333
00:13:49,370 –> 00:13:51,410
یک مرورگر استفاده کنیم که کمی بعد به این موضوع می رسیم،
334
00:13:51,410 –> 00:13:52,940
اما شما تنها واقعی هستید
335
00:13:52,940 –> 00:13:54,500
برای مرورگر یا کروم و
336
00:13:54,500 –> 00:13:56,540
فایرفاکس می توانید انتخاب کنید سعی کنید از سایرین استفاده کنید،
337
00:13:56,540 –> 00:14:00,260
اما چیزی که Chrome Firefox را
338
00:14:00,260 –> 00:14:04,370
به پایتون متصل می کند، یک
339
00:14:04,370 –> 00:14:05,900
نرم افزار در حال تکامل است که برای اکثر مرورگرها وجود ندارد،
340
00:14:05,900 –> 00:14:08,240
بنابراین اگر به دلایلی نمی
341
00:14:08,240 –> 00:14:10,460
توانید از Chrome یا Firefox استفاده کنید، واقعاً نمی توانید
342
00:14:10,460 –> 00:14:12,050
بیشتر کارهایی را انجام دهید. من از اینجا به بعد در مورد آن صحبت خواهم
343
00:14:12,050 –> 00:14:14,220
کرد،
344
00:14:14,220 –> 00:14:18,820
خوب، کد بسیار ساده است
345
00:14:18,820 –> 00:14:20,440
، متوجه خواهید شد که این مدت طولانی تر از
346
00:14:20,440 –> 00:14:22,570
قبل نیست، بنابراین ما اکنون
347
00:14:22,570 –> 00:14:26,020
بسته سلنیوم را وارد می کنیم، این تنها
348
00:14:26,020 –> 00:14:28,330
کاری است که برای راه اندازی کروم در این مرحله باید انجام دهیم. ما
349
00:14:28,330 –> 00:14:29,920
به یک کروم در حال اجرا متصل هستیم که
350
00:14:29,920 –> 00:14:32,320
هر کاری که به آن
351
00:14:32,320 –> 00:14:35,730
بگوییم محدودیتهایی دارد انجام خواهیم داد.
352
00:14:35,730 –> 00:14:38,620
353
00:14:38,620 –> 00:14:42,340
354
00:14:42,340 –> 00:14:44,590
355
00:14:44,590 –> 00:14:46,420
نه خیلی بیشتر، بنابراین این
356
00:14:46,420 –> 00:14:49,450
یک نام دیوانه کننده برای فیلدی است که در
357
00:14:49,450 –> 00:14:51,850
این صفحه وب وجود دارد و می توانیم از
358
00:14:51,850 –> 00:14:53,410
حالت توسعه دهنده کروم استفاده کنیم، اما فکر می کنم این چند
359
00:14:53,410 –> 00:14:54,940
دقیقه از زندگی مردم است که نیازی نیست
360
00:14:54,940 –> 00:14:56,500
همه را صرف استفاده از
361
00:14:56,500 –> 00:14:59,620
عناصر بازرسی کنیم. سپس w و
362
00:14:59,620 –> 00:15:01,480
فقط عنصر را برگردانید جستجوی بسیار بسیار
363
00:15:01,480 –> 00:15:03,130
مشابه، نسخههای مشابه سادهای وجود دارد
364
00:15:03,130 –> 00:15:04,810
که XPath را میگیرند و چه
365
00:15:04,810 –> 00:15:07,540
چیزی را میتوانیم صدا کنیم که روی
366
00:15:07,540 –> 00:15:09,250
دکمه کلیک میکند و مرورگر هر کاری را
367
00:15:09,250 –> 00:15:12,280
که شما انجام میدهید انجام میدهد، بنابراین اگر
368
00:15:12,280 –> 00:15:17,530
مثال پنج را اجرا کنم، خواهیم دید. یک
369
00:15:17,530 –> 00:15:22,180
پاپ آپ کروم آن صفحه وب را بارگیری می کند تا
370
00:15:22,180 –> 00:15:23,920
دستان من روی رایانه نباشند، می توانید آن را با
371
00:15:23,920 –> 00:15:25,270
فشار دادن دکمه دانلود ببینید و سپس
372
00:15:25,270 –> 00:15:26,560
ناراضی شد زیرا من همه
373
00:15:26,560 –> 00:15:28,270
فرم ها را پر نکردم زیرا پر کردن فرم
374
00:15:28,270 –> 00:15:29,800
ها باعث طولانی تر شدن کد می شود. این کار را
375
00:15:29,800 –> 00:15:32,110
در یک ثانیه انجام میدهیم تا همه ببینند دکمه
376
00:15:32,110 –> 00:15:34,930
فشار داده شده و چیزهای اینجا بالاست، خب پس
377
00:15:34,930 –> 00:15:38,580
این را رها کنید و ما آن را میکشیم،
378
00:15:38,779 –> 00:15:42,959
پس بیایید فایلی را دانلود کنیم
379
00:15:42,959 –> 00:15:45,029
که آن دکمه فشار داده شده است. این
380
00:15:45,029 –> 00:15:47,759
کار کمی بیشتر
381
00:15:47,759 –> 00:15:49,559
است. برای خوشحال کردن جاوا اسکریپت از
382
00:15:49,559 –> 00:15:52,139
دادن فایل و دانلود فایل به
383
00:15:52,139 –> 00:15:54,509
شما بخشی از مرورگر نیست، مرورگر
384
00:15:54,509 –> 00:15:56,970
محتوا را دریافت می کند و می گوید hmm و آن
385
00:15:56,970 –> 00:15:58,799
را به سیستم عامل می اندازد، بنابراین
386
00:15:58,799 –> 00:16:00,299
387
00:16:00,299 –> 00:16:02,759
گاهی اوقات مجبور می شوید کارهای کمی زشت را در اینجا انجام دهید. یک حلقه while وحشتناک وجود دارد در
388
00:16:02,759 –> 00:16:04,619
حالی که ما منتظر میشویم تا فایل
389
00:16:04,619 –> 00:16:09,540
خوب نمایش داده شود، بنابراین این کد
390
00:16:09,540 –> 00:16:12,749
کمی طولانیتر است، بنابراین باید
391
00:16:12,749 –> 00:16:17,639
خودمان را محلی برای قرار دادن بارگیری کنیم، این فقط
392
00:16:17,639 –> 00:16:19,619
مواردی است که در نهایت از
393
00:16:19,619 –> 00:16:21,329
نمونههای من یا Stack Overflow کپی میکنید. چون
394
00:16:21,329 –> 00:16:24,269
هیچ سندی وجود ندارد که به آن بگوید
395
00:16:24,269 –> 00:16:28,410
دانلودها را کجا قرار دهد خوب است، سپس
396
00:16:28,410 –> 00:16:30,239
کروم خود را ایجاد میکنید و به آن میگویید بارگیریها را کجا
397
00:16:30,239 –> 00:16:31,649
قرار دهد و دوباره اینها
398
00:16:31,649 –> 00:16:34,110
فقط رشتههایی هستند که باید
399
00:16:34,110 –> 00:16:37,110
Google را در جایی دقیق تعیین کنید و سپس
400
00:16:37,110 –> 00:16:39,269
همه چیز بسیار ساده است، بنابراین ما آن را فعال میکنیم.
401
00:16:39,269 –> 00:16:42,529
همانطور که قبلاً URL را دریافت می کنیم، در اینجا
402
00:16:42,529 –> 00:16:44,459
مواردی وجود دارد که باید
403
00:16:44,459 –> 00:16:45,869
در صفحه پر کنیم، بنابراین با
404
00:16:45,869 –> 00:16:47,309
کلیک کردن آن، آنها را بررسی می کنم، اما شما باید روی برخی از دکمه ها کلیک کنید
405
00:16:47,309 –> 00:16:49,319
و برخی از فیلدها را تنظیم کنید. این یک
406
00:16:49,319 –> 00:16:51,899
مرور مختصر از سلنیوم است. API
407
00:16:51,899 –> 00:16:54,239
شما می توانید بر اساس مسیرهای X جستجو کنید، این نوع
408
00:16:54,239 –> 00:16:57,059
چیزها در اینجا می توانید یک شی انتخاب کنید،
409
00:16:57,059 –> 00:16:59,759
بنابراین به این صورت است که مقدار یک فرم را پر می کنید تا روی
410
00:16:59,759 –> 00:17:03,149
آن کلیک می کند و ظاهر می شود و
411
00:17:03,149 –> 00:17:05,039
این متن را وارد می کند که انگار همان ورودی است که
412
00:17:05,039 –> 00:17:07,648
روی شما کلیک کرده اید. ج
413
00:17:07,648 –> 00:17:09,000
414
00:17:09,000 –> 00:17:10,380
اگر میخواهید کد
415
00:17:10,380 –> 00:17:11,519
طولانیتر و طولانیتر
416
00:17:11,519 –> 00:17:14,760
شود، متنها
417
00:17:14,760 –> 00:17:16,859
را پاک
418
00:17:16,859 –> 00:17:19,439
کنید و خودتان آنها
419
00:17:19,439 –> 00:17:22,500
را بازگردانید. دکمه دانلود اکنون این
420
00:17:22,500 –> 00:17:25,019
بخش متأسفانه تا حدودی زشت است
421
00:17:25,019 –> 00:17:27,148
زیرا مرورگر همانطور که مطمئنم
422
00:17:27,148 –> 00:17:29,130
متوجه شدهاید دانلود فایلها
423
00:17:29,130 –> 00:17:31,289
شما را تنها میگذارد تا زمانی که فایل نمایش داده شود، ما در
424
00:17:31,289 –> 00:17:32,789
نهایت اینجا
425
00:17:32,789 –> 00:17:34,769
نشستهایم در حالی که منتظر یک فایل جدید هستیم.
426
00:17:34,769 –> 00:17:36,840
ظاهر می شود و برای اینکه یک فایل فشرده معتبر
427
00:17:36,840 –> 00:17:40,590
باشد، من عذرخواهی نمی کنم زیرا
428
00:17:40,590 –> 00:17:42,720
در واقع Chrome را به
429
00:17:42,720 –> 00:17:43,080
اندازه کافی منصفانه ننوشتم،
430
00:17:43,080 –> 00:17:46,380
بنابراین اگر ادامه دهیم و اجرا کنیم، اگر
431
00:17:46,380 –> 00:17:48,700
بتوانم مثال 6 را به خاطر بیاورم
432
00:17:48,700 –> 00:17:51,070
و بسته به سرعت وای فای
433
00:17:51,070 –> 00:17:56,040
بسیار خوب پس ما همه چیز را
434
00:17:56,040 –> 00:17:58,420
درست انجام دادیم پس ما فرم را پر کرده ایم و
435
00:17:58,420 –> 00:18:00,100
روی دکمه در مسیری که
436
00:18:00,100 –> 00:18:02,380
به اینجا اشاره می کنم کلیک کرده ایم فکر می کنم و سپس یک
437
00:18:02,380 –> 00:18:07,420
بارگیری دریافت کردیم که می گوید پنج دقیقه است، بنابراین
438
00:18:07,420 –> 00:18:10,030
تصور می کنم فقط ما به آنجا برویم،
439
00:18:10,030 –> 00:18:11,410
پس فقط اینجا می نشینیم منتظر نخواهیم بود
440
00:18:11,410 –> 00:18:13,470
تمام مدت با آن منتظر بمانیم،
441
00:18:13,470 –> 00:18:15,120
باور کنید در نهایت به آنجا می رسد
442
00:18:15,120 –> 00:18:16,960
زیرا می توانم آن را به مدت شش دقیقه در حال اجرا بگذارم،
443
00:18:16,960 –> 00:18:20,950
بنابراین در این مرحله
444
00:18:20,950 –> 00:18:22,450
می توانیم جاوا اسکریپت را مرور
445
00:18:22,450 –> 00:18:24,700
کنیم و می توانیم فایل ها را پایین بیاوریم و می توانیم پیوندها را تعقیب کنیم که بیشتر می توانیم انجام دهیم.
446
00:18:24,700 –> 00:18:28,900
447
00:18:28,900 –> 00:18:30,640
وقتی مرورگر را راهاندازی کردید و
448
00:18:30,640 –> 00:18:32,440
449
00:18:32,440 –> 00:18:34,810
از کد تجزیه متن سادهتر و پیچیدهتر استفاده کردید، باید انجام دهیم
450
00:18:34,810 –> 00:18:37,840
، مرورگر تجزیهکننده شما است و
451
00:18:37,840 –> 00:18:39,340
مرورگر میتواند هر چیزی را که میتوانید با مرورگر وب بخوانید، تجزیه کند.
452
00:18:39,340 –> 00:18:40,870
زیرا اینگونه است که
453
00:18:40,870 –> 00:18:44,250
همه صفحات وب خود را می خوانید که مرورگرها
454
00:18:44,250 –> 00:18:47,020
به روش های متفاوتی نسبت به
455
00:18:47,020 –> 00:18:48,490
زمانی که این کار را به عنوان یک شخص انجام
456
00:18:48,490 –> 00:18:49,930
می دهید مهم است، بنابراین ممکن است ترجیح شخصی برای
457
00:18:49,930 –> 00:18:52,090
فایرفاکس یا سافاری یا اینترنت اکسپلورر
458
00:18:52,090 –> 00:18:56,170
یا هر چیز دیگری از محتوای وب پیچیده داشته
459
00:18:56,170 –> 00:18:57,610
باشید. با
460
00:18:57,610 –> 00:18:59,050
مرورگرها به روشهای مختلف تعامل دارد، بنابراین چیزهایی
461
00:18:59,050 –> 00:19:01,570
که نام تگها را تغییر میدهند،
462
00:19:01,570 –> 00:19:02,770
نام تگها را به همان شیوه در
463
00:19:02,770 –> 00:19:05,230
مرورگرهای مختلف تغییر نمیدهند، بنابراین مجبور میشوید تا نیمه راه آن را متوقف کنید،
464
00:19:05,230 –> 00:19:06,940
با استفاده از کنسول توسعهدهنده
465
00:19:06,940 –> 00:19:08,500
inspe. برای اینکه ببینم اسمشون چیه،
466
00:19:08,500 –> 00:19:10,810
من با صفحاتی برخورد کردم
467
00:19:10,810 –> 00:19:12,640
که فقط در فایرفاکس خراش میکنن یا فقط
468
00:19:12,640 –> 00:19:13,420
در کروم
469
00:19:13,420 –> 00:19:15,400
خراش میکنن یا
470
00:19:15,400 –> 00:19:19,000
هر دو خراش نمیکنن، بنابراین واقعا اهمیت
471
00:19:19,000 –> 00:19:21,010
میدهید که صفحه شما چقدر پیچیده است. در حال
472
00:19:21,010 –> 00:19:22,450
نگاه کردن به چیزهای واقعاً ابتدایی هیچ یک از
473
00:19:22,450 –> 00:19:23,860
اینها واقعاً مهم نیست و
474
00:19:23,860 –> 00:19:26,230
اگر
475
00:19:26,230 –> 00:19:28,150
صفحه واقعاً پیچیده ای دارید که واقعاً
476
00:19:28,150 –> 00:19:31,120
آشفته است، احتمالاً اسلاید دوم کافی است، احتمالاً در بهترین حالت در یک
477
00:19:31,120 –> 00:19:32,980
مرورگر کار می کند یا فقط Abul را در یک
478
00:19:32,980 –> 00:19:35,680
مرورگر خراش می دهد. که نام شناسه
479
00:19:35,680 –> 00:19:38,020
و نام کلاس ها را قرار ندهید یا
480
00:19:38,020 –> 00:19:39,460
رشته های غیر منحصر به فرد را برای چیزهایی که
481
00:19:39,460 –> 00:19:40,840
قرار است منحصر به فرد باشند قرار ندهید،
482
00:19:40,840 –> 00:19:46,750
واقعاً دشوار می شود، بنابراین باز هم شما واقعاً
483
00:19:46,750 –> 00:19:48,610
اهمیتی نمی دهید که اسکریپت های جاوا شما
484
00:19:48,610 –> 00:19:50,860
بسیار ساده باشد زیرا اوضاع بدتر می شود.
485
00:19:50,860 –> 00:19:53,260
همه چیز به پایان می رسد و شما فقط
486
00:19:53,260 –> 00:19:56,290
مجبور می شوید با تغییر نسخه ها آزمایش کنید، همانطور که
487
00:19:56,290 –> 00:19:57,730
صفحه بازنویسی می شود، در نهایت مجبور می شوید دوباره آزمایش
488
00:19:57,730 –> 00:20:00,160
مجدد را آزمایش کنید که بسیار
489
00:20:00,160 –> 00:20:01,290
وحشتناک است زیرا هیچ کس
490
00:20:01,290 –> 00:20:06,000
به شما نمی گوید که چه زمانی صفحات تغییر می کنند،
491
00:20:06,000 –> 00:20:07,830
همانطور که قبلاً گفتم تنها انتخاب های واقعی شما.
492
00:20:07,830 –> 00:20:09,660
آیا کروم و فایرفاکس برای انجام این کار به
493
00:20:09,660 –> 00:20:11,910
این دلیل نیست که من اهمیت می دهم زیرا
494
00:20