در این مطلب، ویدئو پایتون + XPath = قدرت تجزیه اضافی با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:10,370 –> 00:00:12,080
همه در حال یافتن صندلی هستند، بیایید
2
00:00:12,080 –> 00:00:15,650
شروع کنیم، بنابراین وقتی جان
3
00:00:15,650 –> 00:00:18,770
رایدر جونز را از نوآوری های مرده در
4
00:00:18,770 –> 00:00:20,420
استارتاپ فناوری در سنگاپور معرفی می کنم، از جان
5
00:00:20,420 –> 00:00:23,390
تشکر می کنم که تایپ کرد تا در تایلند پیاده روی کند،
6
00:00:23,390 –> 00:00:25,669
جان در مورد
7
00:00:25,669 –> 00:00:27,980
پردازش XPath در پایتون صحبت می کند.
8
00:00:27,980 –> 00:00:30,349
در صحبت قبلی امروز در مورد scrapey
9
00:00:30,349 –> 00:00:32,750
باید مقایسه و کنتراست جالبی وجود داشته باشد
10
00:00:32,750 –> 00:00:34,460
و اینکه چگونه
11
00:00:34,460 –> 00:00:36,680
چیزهایی که مکمل آن هستند را به
12
00:00:36,680 –> 00:00:44,000
جان می دهم و به نظر می رسد مشکلی ندارد،
13
00:00:44,000 –> 00:00:46,370
بنابراین من می خواهم در مورد Python
14
00:00:46,370 –> 00:00:49,100
با استفاده از XPath و برخی موارد مرتبط صحبت کنم.
15
00:00:49,100 –> 00:00:53,239
ماشینهای XML برای تجزیه، بنابراین ما میخواهیم به
16
00:00:53,239 –> 00:00:54,140
سرعت
17
00:00:54,140 –> 00:00:56,149
به برخی از اصول اولیه تجزیه
18
00:00:56,149 –> 00:00:57,949
بپردازیم که چرا تجزیه میکنیم و سپس من
19
00:00:57,949 –> 00:01:00,710
مقدمهای گذرا برای XML و XPath ارائه میدهم که
20
00:01:00,710 –> 00:01:03,050
فقط به نوعی
21
00:01:03,050 –> 00:01:04,760
موضوع را پوشش دهد.
22
00:01:04,760 –> 00:01:06,560
موضوعات عمیقی که سزاوار
23
00:01:06,560 –> 00:01:09,920
گفتگوها و کنفرانس های طولانی خود هستند و چه چیز دیگری
24
00:01:09,920 –> 00:01:12,620
25
00:01:12,620 –> 00:01:14,900
26
00:01:14,900 –> 00:01:17,690
27
00:01:17,690 –> 00:01:19,100
دادههایی که باید انجام دهید تا بتوانید به
28
00:01:19,100 –> 00:01:21,200
سؤالات ساده از چند مثال ساده پاسخ دهید،
29
00:01:21,200 –> 00:01:22,970
سپس ما در مورد
30
00:01:22,970 –> 00:01:25,400
پیمایش در مجموعهای از دادههای تجزیهشده بحث میکنیم،
31
00:01:25,400 –> 00:01:25,850
32
00:01:25,850 –> 00:01:27,440
بنابراین وقتی چیزها را در مورد نحوه
33
00:01:27,440 –> 00:01:29,930
کار با آنها تغذیه کردید و در نهایت
34
00:01:29,930 –> 00:01:32,120
با چند مثال به پایان رسید. در مورد اینکه چگونه می توانید از
35
00:01:32,120 –> 00:01:34,580
مسیرهای X در کنار پایتون برای دریافت
36
00:01:34,580 –> 00:01:39,550
کدهای پایتون بسیار زیباتر از بدون آن استفاده کنید، بنابراین
37
00:01:39,550 –> 00:01:41,540
پایتون بسیار شناخته شده است اگر
38
00:01:41,540 –> 00:01:43,580
ایجاد تجزیه داده ها و مدیریت متن
39
00:01:43,580 –> 00:01:45,770
فکر کنید به استثنای
40
00:01:45,770 –> 00:01:48,080
خطاهای کد رمزگذاری یونیکد، بسیار
41
00:01:48,080 –> 00:01:49,730
تمیز و کار کردن با آن آسان است. با در آن
42
00:01:49,730 –> 00:01:52,820
فضا، اگر به بهترین زبان موتور جستجو
43
00:01:52,820 –> 00:01:54,560
برای خراش دادن وب سایت علم داده نگاه کنید،
44
00:01:54,560 –> 00:01:55,790
همه انواع چیزهایی را
45
00:01:55,790 –> 00:01:58,690
که عمدتاً مربوط به سازمانهای بلع دادهها است که در حال
46
00:01:58,690 –> 00:02:01,580
پرس و جو از پایتونهای اکتشافی
47
00:02:01,580 –> 00:02:04,970
یا نزدیک به بالای لیست هستند
48
00:02:04,970 –> 00:02:06,860
و مهم است که بگوییم این
49
00:02:06,860 –> 00:02:09,470
فقط زبان نیست، بلکه مهم است. چیزهای دیگری که
50
00:02:09,470 –> 00:02:11,660
در دسترس دارید، اما کنتراست در این
51
00:02:11,660 –> 00:02:13,489
پروژکتور به این معنی است که وقتی چیزهایی را برجسته میکنم،
52
00:02:13,489 –> 00:02:17,690
خوب نشان داده نمیشوند، بنابراین
53
00:02:17,690 –> 00:02:18,829
فقط یک فای مستقل نیست.
54
00:02:18,829 –> 00:02:20,090
بستههایی که در دسترس هستند
55
00:02:20,090 –> 00:02:22,069
و بسیاری از صحبتهای آخر این
56
00:02:22,069 –> 00:02:23,150
هفته درباره بستهها بوده است و
57
00:02:23,150 –> 00:02:25,099
من برای تجزیه و تحلیل مسائل مربوط به مدیریت
58
00:02:25,099 –> 00:02:26,629
دادهها در حل مشکلات یادگیری ماشین
59
00:02:26,629 –> 00:02:28,970
، به نظر میرسد ترکیبی از
60
00:02:28,970 –> 00:02:31,459
فلسفه طراحی نحو زبان پایتون
61
00:02:31,459 –> 00:02:33,319
و بستههایی است که هستند.
62
00:02:33,319 –> 00:02:35,420
در دسترس بودن، آن را به مکانی عالی برای انجام
63
00:02:35,420 –> 00:02:38,319
این نوع تجزیه و پردازش داده تبدیل می
64
00:02:38,319 –> 00:02:42,230
کند، بنابراین تجزیه مفهومی این است که
65
00:02:42,230 –> 00:02:44,720
فقط مقداری از محتوای ورودی را دریافت کنید
66
00:02:44,720 –> 00:02:47,150
و آن را به ظروف
67
00:02:47,150 –> 00:02:48,769
یا ساختارهای داده خود وارد کنید،
68
00:02:48,769 –> 00:02:50,239
چیزی که می توانید سپس با آن کار
69
00:02:50,239 –> 00:02:53,480
کنید. مشکل کلاسیک واقعا قدیمی
70
00:02:53,480 –> 00:02:54,980
منظورم این است که همه
71
00:02:54,980 –> 00:02:56,389
در جوانی خواندن را یاد میگیرند یا هرکسی که
72
00:02:56,389 –> 00:02:57,379
خواندن را یاد میگیرد در جوانی خواندن را یاد میگیرد
73
00:02:57,379 –> 00:02:59,720
و این درست تجزیه و تحلیل است.
74
00:02:59,720 –> 00:03:02,030
75
00:03:02,030 –> 00:03:03,319
76
00:03:03,319 –> 00:03:05,329
حروف به کلمات
77
00:03:05,329 –> 00:03:07,280
و جملات و دستور زبان و همه
78
00:03:07,280 –> 00:03:09,560
چیزهایی که به وضوح به
79
00:03:09,560 –> 00:03:11,030
شدت در یک تمام تاریخ بشر
80
00:03:11,030 –> 00:03:14,090
و سپس از نظر کامپیوتری مدرنتر،
81
00:03:14,090 –> 00:03:15,829
هر مترجم کامپایلر، هر
82
00:03:15,829 –> 00:03:17,329
چیزی که شامل هر زبان برنامهنویسی میشود،
83
00:03:17,329 –> 00:03:19,700
شامل تجزیه زبان
84
00:03:19,700 –> 00:03:21,590
برای شروع به فراموشی دادههایی است که در حال
85
00:03:21,590 –> 00:03:24,170
پردازش هستید، بنابراین مقدار زیادی
86
00:03:24,170 –> 00:03:26,269
ماشین برای انجام این
87
00:03:26,269 –> 00:03:28,459
کارها وجود دارد، دلیلی ندارد فقط به
88
00:03:28,459 –> 00:03:30,620
زبانهای داخلی تکیه کنید که ممکن است کارها را
89
00:03:30,620 –> 00:03:31,910
راحت کند، چیزهای زیادی وجود دارد که
90
00:03:31,910 –> 00:03:34,879
میتوانید به راحتی در پایتون و
91
00:03:34,879 –> 00:03:36,440
احتمالاً در بسیاری از زبانهای برنامهنویسی دیگر
92
00:03:36,440 –> 00:03:40,699
نیز استفاده کنید، بنابراین به چند مورد Xan
93
00:03:40,699 –> 00:03:44,109
Python در اینجا بازگردید: ساده در مقابل پیچیده
94
00:03:44,109 –> 00:03:47,599
صریح در مقابل flat ضمنی
95
00:03:47,599 –> 00:03:49,810
هر کسی که
96
00:03:49,810 –> 00:03:53,169
چیزی برای تجزیه داده های ورودی نوشته است، مطالب مربوط به صفحه وب
97
00:03:53,169 –> 00:03:56,780
به عنوان بحث مورد بحث که
98
00:03:56,780 –> 00:03:59,419
در این اتاق حدود یک ساعت پیش بود،
99
00:03:59,419 –> 00:04:01,159
100
00:04:01,159 –> 00:04:03,530
101
00:04:03,530 –> 00:04:06,139
102
00:04:06,139 –> 00:04:07,970
گنجانده شده است.
103
00:04:07,970 –> 00:04:10,159
محفظهها و حلقههای تو در تو و چیزهایی که
104
00:04:10,159 –> 00:04:13,370
ساده نیستند
105
00:04:13,370 –> 00:04:15,859
asant و شما آن را برای خود توجیه می
106
00:04:15,859 –> 00:04:17,298
کنید زیرا فقط یک بار انجام می دهید
107
00:04:17,298 –> 00:04:19,099
و زمانی که داده ها در سیستم قرار می گیرند،
108
00:04:19,099 –> 00:04:22,010
خیلی وقت ها خوب است که واقعاً
109
00:04:22,010 –> 00:04:22,610
لازم نیست
110
00:04:22,610 –> 00:04:24,770
سعی کنید به کسی توضیح دهید که
111
00:04:24,770 –> 00:04:27,110
تجزیه کننده شما چگونه کار می کند اغلب فقط
112
00:04:27,110 –> 00:04:28,970
به داده های ورودی اشاره می کند و شما به نوعی
113
00:04:28,970 –> 00:04:31,039
دستان خود را بالا می اندازید و می گویید داده
114
00:04:31,039 –> 00:04:32,300
ها جذاب نیستند تجزیه کننده من
115
00:04:32,300 –> 00:04:34,849
جذاب نیست متأسفم که واقعاً
116
00:04:34,849 –> 00:04:36,500
نتیجه شگفت انگیزی نیست، راه های بهتری
117
00:04:36,500 –> 00:04:36,980
برای انجام دادن وجود دارد
118
00:04:36,980 –> 00:04:40,340
و راه های آسان تری برای انجام کارها وجود دارد.
119
00:04:40,340 –> 00:04:44,240
120
00:04:44,240 –> 00:04:47,350
کمی مانند HTML،
121
00:04:47,350 –> 00:04:50,060
برخی از تفاوتها در قوانین
122
00:04:50,060 –> 00:04:52,700
لزوماً مهم نیستند، بنابراین شما در
123
00:04:52,700 –> 00:04:54,620
اینجا مثالی برای یک میوه آوردهاید که
124
00:04:54,620 –> 00:04:58,000
به آن قیمت آن چه رنگی است،
125
00:04:58,000 –> 00:04:59,930
هر کسی که با هر توسعه وب آشنایی دارد،
126
00:04:59,930 –> 00:05:02,300
HTML کافی برای درک
127
00:05:02,300 –> 00:05:04,460
مفهوم آنچه در حال وقوع است دیده است. آنچه
128
00:05:04,460 –> 00:05:06,350
مهم است این است که قوانین رسمی تری در اینجا وجود دارد،
129
00:05:06,350 –> 00:05:08,600
بنابراین یک مرورگر وب
130
00:05:08,600 –> 00:05:11,390
HTML شکسته را به خوبی مدیریت می کند، در حالی که XML شما
131
00:05:11,390 –> 00:05:13,580
باید درست باشد و به دلیل این
132
00:05:13,580 –> 00:05:15,650
نیاز، درستی و
133
00:05:15,650 –> 00:05:17,990
دستور زبانها و قالبهای سختگیرانه ما میتوانیم بسیاری از
134
00:05:17,990 –> 00:05:20,780
کارهای قدرتمند و جالب را به سرعت انجام دهیم، بنابراین
135
00:05:20,780 –> 00:05:22,520
یکی از مواردی که
136
00:05:22,520 –> 00:05:25,730
از رسمیت ایجاد میشود، این XPath است که
137
00:05:25,730 –> 00:05:30,350
زبانی برای ارجاع به اشیاء XML برای
138
00:05:30,350 –> 00:05:33,410
جستجو در اسناد است، بنابراین شما
139
00:05:33,410 –> 00:05:35,570
دادههایی را در درخت، بنابراین اگر به مثال بسیار ساده خود در اینجا نگاه
140
00:05:35,570 –> 00:05:37,550
کنیم، میوه
141
00:05:37,550 –> 00:05:38,990
داریم لایه بیرونی ما است و سپس چند تگ وجود دارد که
142
00:05:38,990 –> 00:05:41,120
یکی پایین است، بنابراین این یک
143
00:05:41,120 –> 00:05:43,370
میوه درختی است که دارای نام سه فرزند
144
00:05:43,370 –> 00:05:47,030
قیمت رنگ است و می توانیم به آن
145
00:05:47,030 –> 00:05:49,250
چیزهای مشابه اشاره کنیم. ساختار دایرکتوری سنتی
146
00:05:49,250 –> 00:05:51,410
در اینجا با جداکنندههای
147
00:05:51,410 –> 00:05:55,220
اسلش و چیزهای عام شکل میگیرد، بنابراین
148
00:05:55,220 –> 00:05:58,400
منبع تصویر تگ نوع معمولی HTML برابر با هر چیزی است، بنابراین در اینجا
149
00:05:58,400 –> 00:06:02,420
میتوانیم منبع ویژگی تصویر کارت وحشی
150
00:06:02,420 –> 00:06:05,420
را بنویسیم و یک مقدار را
151
00:06:05,420 –> 00:06:09,080
برمیگردانیم تا لیستهای تقسیمبندی وجود نداشته باشد و
152
00:06:09,080 –> 00:06:11,270
بیشتر و کمتر جستجو کنیم.
153
00:06:11,270 –> 00:06:13,610
این فقط یک ارجاع به
154
00:06:13,610 –> 00:06:15,770
XML مستقل از هر زبان برنامه
155
00:06:15,770 –> 00:06:18,290
156
00:06:18,290 –> 00:06:19,850
157
00:06:19,850 –> 00:06:21,590
نویسی است. در اینجا ما تابع متن
158
00:06:21,590 –> 00:06:23,660
را در پایین می بینیم که در
159
00:06:23,660 –> 00:06:26,900
برخی از برچسب ها می گوید محتویات
160
00:06:26,900 –> 00:06:28,700
تگ چیست، بسیاری از کمک های دیگر مانند
161
00:06:28,700 –> 00:06:33,710
این و ناوبری وجود دارد زیرا قبلاً گفته
162
00:06:33,710 –> 00:06:37,190
شد چیزی شبیه میوه درخت
163
00:06:37,190 –> 00:06:39,380
و سپس کودکان زیر آن داریم. میتوانیم
164
00:06:39,380 –> 00:06:41,330
پیمایش کنیم تا بتوانیم سطوح بالا و پایین برویم،
165
00:06:41,330 –> 00:06:43,670
بنابراین اگر از قبل نشان میدهیم
166
00:06:43,670 –> 00:06:46,070
گرهای در درخت تجزیه ما وجود دارد، میتوانیم
167
00:06:46,070 –> 00:06:48,110
از این نقطه استفاده کنیم تا کمی به بالا برگردیم،
168
00:06:48,110 –> 00:06:50,300
بنابراین هر کجا که هستیم
169
00:06:50,300 –> 00:06:52,759
به یک والد میرویم و پس این نوعی
170
00:06:52,759 –> 00:06:56,300
شبه کد پایتون است ish ما می توانیم
171
00:06:56,300 –> 00:06:58,879
چیزی را بر اساس برخی از XPath پیدا کنیم، می
172
00:06:58,879 –> 00:07:00,680
توانیم والد آن را پیدا کنیم از این طریق می
173
00:07:00,680 –> 00:07:02,870
توانیم خودمان را شناسایی کنیم، می توانیم به بالا و پایین
174
00:07:02,870 –> 00:07:06,110
درخت حرکت کنیم و همانطور که بعداً خواهیم دید
175
00:07:06,110 –> 00:07:08,030
این یک ویژگی واقعاً قدرتمند است که برنامههای داخلی
176
00:07:08,030 –> 00:07:10,039
پایتون ندارند، بنابراین اگر
177
00:07:10,039 –> 00:07:12,259
فهرستها و لغتنامههای تودرتو دارید، به این فکر کنید
178
00:07:12,259 –> 00:07:15,229
که انجام این کار چقدر سخت است،
179
00:07:15,229 –> 00:07:17,000
کسی یک عنصر فهرست را به شما میدهد و
180
00:07:17,000 –> 00:07:18,830
شما میخواهید عنصر کنار آن را در
181
00:07:18,830 –> 00:07:21,440
فهرستی که از آن آمده است پیدا کنید، مگر اینکه پس آنها نیز
182
00:07:21,440 –> 00:07:23,300
آن لی را به شما منتقل کردند شما خوش شانس نیستید
183
00:07:23,300 –> 00:07:25,340
این چیزی است که در
184
00:07:25,340 –> 00:07:29,659
این روش قاب بندی داده ها تعبیه شده است و در کنار
185
00:07:29,659 –> 00:07:31,550
آن تابع متنی که قبلاً دیدیم
186
00:07:31,550 –> 00:07:33,440
تعداد زیادی کمک کننده کوچک وجود دارد، بنابراین
187
00:07:33,440 –> 00:07:36,169
شامل شروع می شود با شما می توانید
188
00:07:36,169 –> 00:07:38,150
دستکاری زیر رشته ها را با محدوده ها
189
00:07:38,150 –> 00:07:41,300
انجام دهید. ابتدا موارد مشکوک معمول را دریافت می کند.
190
00:07:41,300 –> 00:07:43,969
دستکاری رشته که آینه ای
191
00:07:43,969 –> 00:07:45,740
از کتابخانه داخلی
192
00:07:45,740 –> 00:07:47,360
193
00:07:47,360 –> 00:07:49,819
194
00:07:49,819 –> 00:07:52,969
195
00:07:52,969 –> 00:07:55,819
پایتون ها است.
196
00:07:55,819 –> 00:08:00,710
و یک برچسب که
197
00:08:00,710 –> 00:08:03,830
در آن منبع با تعدادی شروع می شود، می
198
00:08:03,830 –> 00:08:05,509
توانید آن را به عنوان پیشوند وب سایت یا
199
00:08:05,509 –> 00:08:07,940
هر چیزی که منطق در اینجا تعبیه شده است، ایجاد کنید،
200
00:08:07,940 –> 00:08:09,259
شما لازم نیست هیچ یک از آن
201
00:08:09,259 –> 00:08:12,409
چیزها را علاوه بر این در بسته بندی کدنویسی کنید،
202
00:08:12,409 –> 00:08:15,409
بنابراین در اینجا یک قطعه داده بزرگتر وجود دارد. بنابراین
203
00:08:15,409 –> 00:08:19,029
این یک جدول ساده HTML است و XHTML وجود دارد
204
00:08:19,029 –> 00:08:22,250
که HTML است که XML نیز معتبر است
205
00:08:22,250 –> 00:08:24,259
بسیاری از صفحات وب چنین هستند،
206
00:08:24,259 –> 00:08:26,180
اما فکر کردم با مثالی کار کنم که
207
00:08:26,180 –> 00:08:28,219
اکثر مردم می توانند در ذهن خود ارائه دهند، بنابراین
208
00:08:28,219 –> 00:08:29,479
h قبل از اینکه جدولی داشته باشیم،
209
00:08:29,479 –> 00:08:32,839
قیمت رنگ نام ردیف سرصفحه را دارد و
210
00:08:32,839 –> 00:08:34,279
سپس چند تکه میوه مختلف
211
00:08:34,279 –> 00:08:36,708
و اطلاعاتی در مورد آنها داریم،
212
00:08:36,708 –> 00:08:38,570
فرض کنید همه به اندازه کافی با HTML آشنا هستند
213
00:08:38,570 –> 00:08:40,099
تا بدانند که قرار است چگونه به
214
00:08:40,099 –> 00:08:43,669
نظر برسد، خوب است. پس چگونه
215
00:08:43,669 –> 00:08:46,430
با استفاده از XPath برخی از پرسوجوها را روی آن اجرا میکنیم، بنابراین در اینجا
216
00:08:46,430 –> 00:08:48,829
ما به دنبال قیمتی هستیم که یک نام دارد،
217
00:08:48,829 –> 00:08:52,790
بنابراین عنصر ردیف را
218
00:08:52,790 –> 00:08:56,750
با عنصر داده با apple مطابقت دهیم و این
219
00:08:56,750 –> 00:08:59,630
عنصر سوم را در آن
220
00:08:59,630 –> 00:09:02,450
ردیف پس میگیرد، بنابراین ما
221
00:09:02,450 –> 00:09:05,660
سه تا داریم ما تابع کمکی شاخص موقعیت
222
00:09:05,660 –> 00:09:07,520
داریم، میتوانیم کارهای مشابهی برای بیرون آوردن
223
00:09:07,520 –> 00:09:10,580
نام رنگها انجام دهیم، میتوانیم
224
00:09:10,580 –> 00:09:15,380
همه نامها را در اینجا بیرون بیاوریم، بنابراین اینها چیزهایی هستند
225
00:09:15,380 –> 00:09:17,990
که در هر قالبی که این
226
00:09:17,990 –> 00:09:19,760
دادهها را در پایتون داخلی
227
00:09:19,760 –> 00:09:21,620
داشتید. در حال انجام مقداری تودرتو،
228
00:09:21,620 –> 00:09:23,090
مقداری بازگشت، چیزی در اینجا، این
229
00:09:23,090 –> 00:09:24,950
فقط یک پرس و جوی صریح برای بیرون کشیدن آن
230
00:09:24,950 –> 00:09:27,710
چیز است، می توانید چندین نتیجه
231
00:09:27,710 –> 00:09:29,540
و نام دریافت کنید در اینجا همه چیز
232
00:09:29,540 –> 00:09:32,120
مطابق با داده های موقعیت اول در زیر یک ردیف است
233
00:09:32,120 –> 00:09:33,710
و سپس لیستی را دوباره دریافت خواهید کرد.
234
00:09:33,710 –> 00:09:35,450
من میخوام در مورد
235
00:09:35,450 –> 00:09:37,520
مواردی که اولین
236
00:09:37,520 –> 00:09:39,740
مسابقه را به لیست مسابقات برمیگرداند، کمی بیدقت باشید، زیرا
237
00:09:39,740 –> 00:09:41,630
باعث میشود این اسلایدها بسیار خوشایند
238
00:09:41,630 –> 00:09:43,880
نباشند رسیدگی به خطا بخشی از
239
00:09:43,880 –> 00:09:46,820
240
00:09:46,820 –> 00:09:49,550
ارائه مفهوم نیست. m
241
00:09:49,550 –> 00:09:52,280
با استفاده از بسته L XML، مجموعه ای از
242
00:09:52,280 –> 00:09:54,350
بسته های مختلف Python XML و
243
00:09:54,350 –> 00:09:57,710
تعدادی داخلی جزئی وجود دارد، بنابراین ما این را اجرا می
244
00:09:57,710 –> 00:10:00,020
کنیم و فقط تمام داده های ورودی را هضم می
245
00:10:00,020 –> 00:10:01,370
کند، بنابراین این سه نقطه در اینجا
246
00:10:01,370 –> 00:10:02,750
هر جایی هستند که قرار است داده های شما
247
00:10:02,750 –> 00:10:05,360
از مرجع دریافت شوند.
248
00:10:05,360 –> 00:10:07,490
هر مسیری را که قبلاً میخواستیم پرس و جو کنید و سپس
249
00:10:07,490 –> 00:10:09,590
از آن بخواهید که آن مسیر
250
00:10:09,590 –> 00:10:12,560
را بیرون بکشد و این احتمالاً
251
00:10:12,560 –> 00:10:15,200
صریحترین سند در کنترلکننده
252
00:10:15,200 –> 00:10:17,450
تجزیهکننده جسور است که میتوانید با
253
00:10:17,450 –> 00:10:20,150
آن بیابید سند را تجزیه میکند و آنچه را میخواهید شناسایی میکند
254
00:10:20,150 –> 00:10:22,340
و به شما میدهد که چیزی که
255
00:10:22,340 –> 00:10:24,260
بسیار سرراست است و میگوید
256
00:10:24,260 –> 00:10:28,460
زین پایتون بهعنوان یکی میتواند باشد، بنابراین اگر میخواهید
257
00:10:28,460 –> 00:10:31,040
همه مسابقات را انجام دهید، مسیری دارید
258
00:10:31,040 –> 00:10:33,770
که چیز دیگری است، معمولاً یک
259
00:10:33,770 –> 00:10:35,330
تابع یا با S o وجود دارد.
260
00:10:35,330 –> 00:10:37,820
انتهای نام یا راه دیگری برای نشان دادن
261
00:10:37,820 –> 00:10:40,010
اینکه شما نمیخواهید در ابتدا دقیقاً مطابقت داشته باشد که
262
00:10:40,010 –> 00:10:42,140
این کار در کتابخانهها چگونه کار میکند.
263
00:10:42,140 –> 00:10:44,150
264
00:10:44,150 –> 00:10:46,610
265
00:10:46,610 –> 00:10:49,460
میخواهید
266
00:10:49,460 –> 00:10:51,230
با XML کار کنید، بستهای را انتخاب کنید و
267
00:10:51,230 –> 00:10:52,850
یاد بگیرید که بیشتر ساختار
268
00:10:52,850 –> 00:10:54,770
از زبان میآید، بنابراین این
269
00:10:54,770 –> 00:10:57,560
تفاوتهای کوچک در API برای
270
00:10:57,560 –> 00:11:01,280
درک ایده مهم نیستند، بنابراین اجازه
271
00:11:01,280 –> 00:11:03,050
دهید به دادههای قبلی خود برگردیم و در نظر بگیریم که آیا
272
00:11:03,050 –> 00:11:05,240
فقط پایتون خام بوده است یا خیر. بنابراین این
273
00:11:05,240 –> 00:11:07,730
مجموعهای از فهرستهاست، فهرستی از فهرستها وجود دارد،
274
00:11:07,730 –> 00:11:09,980
این شاید بهترین راه
275
00:11:09,980 –> 00:11:11,390
برای سازماندهی دادهها نباشد، اما یکی از
276
00:11:11,390 –> 00:11:14,750
راههای معقول برای انجام آن است.
277
00:11:14,750 –> 00:11:16,100
278
00:11:16,100 –> 00:11:18,860
279
00:11:18,860 –> 00:11:20,410
280
00:11:20,410 –> 00:11:22,639
ما یک ردیف سرصفحه داریم که باید به
281
00:11:22,639 –> 00:11:24,709
نحوی از آن بگذریم، یک حلقه for اجرا کرده ایم و بررسی می
282
00:11:24,709 –> 00:11:26,420
کنیم که آیا از آن مطابقت گذشته ایم و مقادیر را برمی
283
00:11:26,420 –> 00:11:28,790
گردانیم، این
284
00:11:28,790 –> 00:11:31,970
کد ایرادی ندارد، فقط خیلی کوتاه نیست، درست
285
00:11:31,970 –> 00:11:33,829
باید نظر داده شود و قبل است
286
00:11:33,829 –> 00:11:35,660
بستگی به نحوه تنظیم این دادهها در اینجا
287
00:11:35,660 –> 00:11:38,990
دارد، ما میتوانیم دادههایمان را بهصورت متفاوتی سازماندهی کنیم،
288
00:11:38,990 –> 00:11:42,470
این احتمالاً پاکتر است، بله، بنابراین
289
00:11:42,470 –> 00:11:44,329
فکر میکنم مردم میتوانند تصور کنند که چگونه میتوان
290
00:11:44,329 –> 00:11:46,190
یک تجزیهکننده در اینجا ساخت
291
00:11:46,190 –> 00:11:48,649
تا حلقههای کمتری برای جستجوی کلیدها داشته
292
00:11:48,649 –> 00:11:52,339
باشید. چیزهایی که دوباره به خوبی مطابقت
293
00:11:52,339 –> 00:11:53,600
دارند، هیچ ایرادی در این وجود ندارد، اما
294
00:11:53,600 –> 00:11:55,970
آنقدرها هم واضح نیست، منظور من این
295
00:11:55,970 –> 00:11:58,279
است که ساختار داده
296
00:11:58,279 –> 00:12:02,029
297
00:12:02,029 –> 00:12:05,600
ما
298
00:12:05,600 –> 00:12:07,819
کاملاً متناسب با پرس و جو
299
00:12:07,819 –> 00:12:09,620
است. حتی نیازی به اظهار نظر
300
00:12:09,620 –> 00:12:11,690
ندارید زیرا این همان کاری است که انجام می دهد
301
00:12:11,690 –> 00:12:14,029
. شاید Pat’s تو در تو پیچیده انجام می دهد، اما
302
00:12:14,029 –> 00:12:15,920
این چیزها در اینجا چندان پیچیده نیستند،
303
00:12:15,920 –> 00:12:18,170
شما به دانشی در
304
00:12:18,170 –> 00:12:20,839
مورد ساختار داده نیاز دارید که در اینجا اصلاً آشکار نیست
305
00:12:20,839 –> 00:12:23,420
و نیست. در منبع آشکار است که
306
00:12:23,420 –> 00:12:26,149
اطلاعات منبع واقعی
307
00:12:26,149 –> 00:12:28,250
در اینجا آمده است، باید در
308
00:12:28,250 –> 00:12:30,620
مورد سند به نحوی در مورد انتقال
309
00:12:30,620 –> 00:12:33,709
از داده های خام به این چیزها بحث کنید و سپس
310
00:12:33,709 –> 00:12:35,240
چگونه قرار است این کار انجام شود.
311
00:12:35,240 –> 00:12:37,279
k رنگ آبیتر است که ممکن است نیازی به
312
00:12:37,279 –> 00:12:40,339
نوشتن نداشته باشید، بنابراین نکتهای که من سعی میکنم به آن اشاره کنم این
313
00:12:40,339 –> 00:12:43,010
است که ساختار
314
00:12:43,010 –> 00:12:45,500
داده تجزیهشده ساختار داده برای
315
00:12:45,500 –> 00:12:49,370
نحوه اجرای پرسوجوهای خود اهمیت زیادی دارد، بنابراین XML دارای
316
00:12:49,370 –> 00:12:52,550
دادههای درختی غنی است. ساختاری که
317
00:12:52,550 –> 00:12:54,290
میتوانید وارد کنید، اوه باید بگویند گرهها، نه
318
00:12:54,290 –> 00:12:58,069
بدون گرهها مقادیر ویژگیها، یک
319
00:12:58,069 –> 00:13:00,380
ساختار پیچیده است، اما اگر
320
00:13:00,380 –> 00:13:02,449
دادههای شما با XML سازگار
321
00:13:02,449 –> 00:13:04,149
نباشد، نمیتوانید هیچ یک از این کارها را انجام دهید
322
00:13:04,149 –> 00:13:06,410
، دادههای داخلی پایتون ساختارها به
323
00:13:06,410 –> 00:13:08,959
طرز باورنکردنی منعطف هستند، اما به
324
00:13:08,959 –> 00:13:11,149
دلیل اینکه برخی از سختی ها و برخی
325
00:13:11,149 –> 00:13:13,579
از رسمی بودن آنها را ندارند، در نهایت نیاز دارید
326
00:13:13,579 –> 00:13:15,170
که تعداد بیشتری از کدهای خود را برای
327
00:13:15,170 –> 00:13:16,880
انجام این پرس و جوها بنویسید، بنابراین ما فقط
328
00:13:16,880 –> 00:13:18,680
نمونه هایی را دیدیم که در آن شما این کار را نمی کنید. نیاز به حلقهها،
329
00:13:18,680 –> 00:13:20,269
زیرا زبان پرس و جو
330
00:13:20,269 –> 00:13:23,120
حلقههای for را برای شما انجام میدهد، گاهی اوقات این خوب است،
331
00:13:23,120 –> 00:13:24,769
گاهی اوقات بد است، بستگی به این دارد که به چه
332
00:13:24,769 –> 00:13:26,540
مشکلی نگاه میکنید، اگرچه
333
00:13:26,540 –> 00:13:29,360
فکر میکنم سعی میکنم شما را متقاعد کنم
334
00:13:29,360 –> 00:13:29,600
335
00:13:29,600 –> 00:13:31,790
که استفاده از این ساختار سفتتر ایده خوبی است.
336
00:13:31,790 –> 00:13:34,519
خیلی بیشتر از مردم انتظار دارند خوب باشد،
337
00:13:34,519 –> 00:13:36,829
بنابراین این یک صفحه وب کمی پیچیدهتر است به
338
00:13:36,829 –> 00:13:46,250
اندازه کافی، بنابراین این صفحه وب میدانم که
339
00:13:46,250 –> 00:13:47,779
بسیاری از نمونههای نرمافزاری به نظر میرسد که
340
00:13:47,779 –> 00:13:51,740
شامل میوهها هستند، بنابراین ما یک جدول
341
00:13:51,740 –> 00:13:53,899
داریم، یک تصویر داریم، یک
342
00:13:53,899 –> 00:13:56,300
بخش سرصفحه یک سری چیزها داریم. برخی بله و
343
00:13:56,300 –> 00:13:56,779
برخی
344
00:13:56,779 –> 00:13:59,120
نه، بنابراین این کمی غنیتر است و ما در
345
00:13:59,120 –> 00:14:01,040
اینجا تعدادی جستجوی مشابه را اجرا میکنیم و به این
346
00:14:01,040 –> 00:14:02,600
فکر میکنیم که چگونه میتوانیم این کار را به
347
00:14:02,600 –> 00:14:09,470
طور مؤثر انجام دهیم، بنابراین این
348
00:14:09,470 –> 00:14:12,139
HTML برای آن است که من نمیخواهم
349
00:14:12,139 –> 00:14:13,490
از طریق آن خط مرور کنم. با خط، اما ما یک
350
00:14:13,490 –> 00:14:16,670
بخش سرصفحه بدنه جداول در اینجا دوباره دریافت
351
00:14:16,670 –> 00:14:18,319
کردیم، من فرض میکنم که افراد با
352
00:14:18,319 –> 00:14:23,860
تگهای HTML مشکلی ندارند، بنابراین این واقعاً خوب است،
353
00:14:23,860 –> 00:14:28,819
بنابراین این همان صفحه HTML است که شیء
354
00:14:28,819 –> 00:14:31,459
آن سند به صورت درختی شکسته شده
355
00:14:31,459 –> 00:14:35,389
است. XML HTML ساختار یافته است به طوری که
356
00:14:35,389 –> 00:14:37,699
گره ریشه ما در اینجا گره HTML است و
357
00:14:37,699 –> 00:14:39,920
سپس یک عنوان سرصفحه در اینجا وجود دارد،
358
00:14:39,920 –> 00:14:42,110
ما گره بدنه و چیزهای زیر
359
00:14:42,110 –> 00:14:45,459
آن را داریم که می توانید از قبل مفید بودن
360
00:14:45,459 –> 00:14:47,899
زبان پرس و جوی گذشته را ببینید، زیرا شما فقط
361
00:14:47,899 –> 00:14:51,199
ریشه ها را به پایین توصیف می کنید. این درخت از
362
00:14:51,199 –> 00:14:53,300
نظر بصری بسیار است تمیزتر و فکر کردن در مورد
363
00:14:53,300 –> 00:14:55,189
مسیرها از طریق فهرست ها و لغت نامه های تو در تو پایتون
364
00:14:55,189 –> 00:14:57,250
و این چیزی است که
365
00:14:57,250 –> 00:15:00,350
به نوعی با
366
00:15:00,350 –> 00:15:03,139
مفهوم نحوه مصرف اسناد به