در این مطلب، ویدئو ایجاد یک برنامه پایتون برای Web Scrape Craigslist با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:21:08
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,960 –> 00:00:02,399
سلام، بچه ها،
2
00:00:02,399 –> 00:00:04,560
در این آموزش به شما نشان می دهم
3
00:00:04,560 –> 00:00:06,560
که چگونه یک برنامه پایتون ایجاد کنید تا
4
00:00:06,560 –> 00:00:08,400
پست های حساب دیفرانسیل و انتگرال را اسکریپت بنویسید و
5
00:00:08,400 –> 00:00:10,800
لیست ها را به یک فایل csv صادر کنید،
6
00:00:10,800 –> 00:00:12,080
بنابراین فکر کردم این می تواند
7
00:00:12,080 –> 00:00:14,240
تمرین بسیار خوبی باشد و تمرین خوبی برای
8
00:00:14,240 –> 00:00:16,079
دریافت اطلاعات بیشتر تجربه عملی در انجام
9
00:00:16,079 –> 00:00:17,920
وب اسکرپینگ با پایتون
10
00:00:17,920 –> 00:00:19,760
و گاهی اوقات اگر فقط می خواهید
11
00:00:19,760 –> 00:00:21,680
همه چیز را در یک نمای واحد داشته باشید یا اگر
12
00:00:21,680 –> 00:00:23,359
می خواهید همه پست ها را در
13
00:00:23,359 –> 00:00:26,000
یک جدول داشته باشید تا بتوانیم
14
00:00:26,000 –> 00:00:28,240
بر اساس یارانه خود پوزها
15
00:00:28,240 –> 00:00:30,480
را فیلتر کنیم، پس بیایید
16
00:00:30,480 –> 00:00:32,719
به پستهای uh که در این ویدیو میخواهیم بنویسیم، نگاهی بیندازید،
17
00:00:32,719 –> 00:00:34,480
18
00:00:34,480 –> 00:00:36,719
برخی از پستهای منطقه خلیج سان فرانسیسکو در
19
00:00:36,719 –> 00:00:38,000
20
00:00:38,000 –> 00:00:41,440
دسته خدمات uh قرار دارند
21
00:00:41,440 –> 00:00:43,280
و به دنبال آن زیر شاخه خدمات ایجاد میشوند
22
00:00:43,280 –> 00:00:45,840
23
00:00:45,840 –> 00:00:48,320
و از آنجایی که من دوست دارم عکاسی انجام دهم
24
00:00:48,320 –> 00:00:50,559
گاهی اوقات دوست دارم ببینم
25
00:00:50,559 –> 00:00:53,360
کارهای دیگران یا عکاسان دیگر کار می کنند، بنابراین من می
26
00:00:53,360 –> 00:00:56,320
خواهم تمام خدمات عکاسی را جستجو کنم
27
00:00:56,320 –> 00:00:58,079
28
00:00:58,079 –> 00:01:01,199
و آنها 198 نتیجه
29
00:01:01,199 –> 00:01:03,680
را به ما می دهند و این دو صفحه خواهد بود
30
00:01:03,680 –> 00:01:07,280
زیرا برای هر صفحه می توانیم 120 صفحه نمایش دهیم.
31
00:01:07,280 –> 00:01:08,960
32
00:01:08,960 –> 00:01:12,000
اکنون آیتمها برای رفتن به اسکریپت پایتون من و
33
00:01:12,000 –> 00:01:15,840
من یک اسکریپت خالی به نام demo.pi ایجاد
34
00:01:16,479 –> 00:01:18,400
میکنم و نتایج را به
35
00:01:18,400 –> 00:01:21,840
یک فایل csv صادر میکنیم و اسلاید فایل را عوض میکنیم،
36
00:01:21,840 –> 00:01:24,080
بنابراین ابتدا مجموعه نتایج را به شما نشان میدهم.
37
00:01:24,080 –> 00:01:26,960
شما می دانید که باید چه انتظاری داشته باشید،
38
00:01:26,960 –> 00:01:28,960
بنابراین از این فایل uh csv
39
00:01:28,960 –> 00:01:30,880
ما پنج ستون داریم و اینها
40
00:01:30,880 –> 00:01:32,720
اطلاعاتی هستند که می خواهیم وارد
41
00:01:32,720 –> 00:01:34,560
کنیم، بنابراین در اینجا شناسه پست را خواهیم داشت که همان پست شناسه
42
00:01:34,560 –> 00:01:35,920
43
00:01:35,920 –> 00:01:37,439
ارسال و
44
00:01:37,439 –> 00:01:39,600
عنوان مکان سرویس است
45
00:01:39,600 –> 00:01:41,200
و تصویر آماده به این معنی است که
46
00:01:41,200 –> 00:01:43,680
آیا پست حاوی محتوای تصویری است یا نه
47
00:01:43,680 –> 00:01:44,960
48
00:01:44,960 –> 00:01:49,360
و آخرین مورد آدرس اینترنتی ارسال خواهد بود،
49
00:01:52,479 –> 00:01:54,479
بنابراین در اینجا ابتدا کتابخانه ها را وارد می کنیم،
50
00:01:54,479 –> 00:01:56,240
بنابراین ماژول زمان
51
00:01:56,240 –> 00:01:57,920
52
00:01:57,920 –> 00:02:00,560
را وارد می کنم و نشانه گذاری را وارد می کنم. برای
53
00:02:00,560 –> 00:02:03,520
وارد کردن کتابخانه درخواستها
54
00:02:03,520 –> 00:02:05,439
و این یک کتابخانه شخص ثالث است، بنابراین
55
00:02:05,439 –> 00:02:07,040
باید کتابخانه را با استفاده از
56
00:02:07,040 –> 00:02:11,038
سند بنفش نصب کنیم این درخواست را نصب کنیم
57
00:02:11,038 –> 00:02:13,360
و برای برش دادن این تزریق،
58
00:02:13,360 –> 00:02:15,200
از سوپ زیبا استفاده
59
00:02:15,200 –> 00:02:17,599
میکنم، بنابراین از bs4 میخواهم یک سوپرکلاس زیبا وارد کنم.
60
00:02:17,599 –> 00:02:20,720
61
00:02:21,200 –> 00:02:23,280
و برای حذف کتابخانه آن است
62
00:02:23,280 –> 00:02:24,959
برای آماده سازی
63
00:02:24,959 –> 00:02:27,599
سوپ زیبا 4.
64
00:02:27,599 –> 00:02:30,560
و برای صادر کردن محتوا به یک فایل csv،
65
00:02:30,560 –> 00:02:34,840
من از کتابخانه pandas استفاده خواهم کرد
66
00:02:36,400 –> 00:02:38,080
و اینها کتابخانه هایی هستند که من
67
00:02:38,080 –> 00:02:40,879
برای این نسخه آزمایشی
68
00:02:40,879 –> 00:02:43,599
استفاده خواهم کرد، بنابراین اجازه دهید نگاهی به آن بیندازیم.
69
00:02:43,599 –> 00:02:45,280
نشانگر، بنابراین من یکی از
70
00:02:45,280 –> 00:02:48,160
عناصر را انتخاب می کنم، بیایید عنصر مکان را انجام دهیم،
71
00:02:48,160 –> 00:02:51,840
بازرسی کلیک راست کنید
72
00:02:52,000 –> 00:02:53,360
و
73
00:02:53,360 –> 00:02:57,840
عنصر مربوط به انتخاب
74
00:02:59,040 –> 00:03:01,440
کاملاً برجسته می شود، بنابراین اگر این
75
00:03:01,440 –> 00:03:03,280
تگ لیست را جمع
76
00:03:03,280 –> 00:03:05,120
کنیم تا بتوانیم ببینیم که
77
00:03:05,120 –> 00:03:07,599
همه لیست ها یا پستها
78
00:03:07,599 –> 00:03:09,519
همگی یک
79
00:03:09,519 –> 00:03:11,920
ویژگی کلاس uh را دارند که قرار است
80
00:03:11,920 –> 00:03:15,319
نقش کاربر باشد
81
00:03:18,640 –> 00:03:20,959
و عناصر والد زیر این تگ ul
82
00:03:20,959 –> 00:03:23,200
83
00:03:24,480 –> 00:03:26,640
در یک چیز دیگر
84
00:03:26,640 –> 00:03:29,680
به من اجازه دهید به صفحه بعدی بروم،
85
00:03:29,680 –> 00:03:31,920
بنابراین پارامتر ما اینجاست، بنابراین ما
86
00:03:31,920 –> 00:03:34,000
دو پارامتر داریم در
87
00:03:34,000 –> 00:03:36,080
واقع اولین پارامتر
88
00:03:36,080 –> 00:03:38,400
رشته پرس و جو خواهد بود و در اینجا اوه
89
00:03:38,400 –> 00:03:41,280
این عکاسی خواهد بود
90
00:03:41,280 –> 00:03:43,599
و s به این معنی است
91
00:03:43,599 –> 00:03:45,200
که اساساً از چند مورد می خواهید رد شوید،
92
00:03:45,200 –> 00:03:47,360
بنابراین در صفحه دوم ما در
93
00:03:47,360 –> 00:03:49,920
واقع 120 مورد را نادیده می گیریم
94
00:03:49,920 –> 00:03:52,720
تا ما را به این موضوع رها کنیم. باشد
95
00:03:52,720 –> 00:03:55,760
121 مورد
96
00:03:55,760 –> 00:03:58,239
درست است، بنابراین من
97
00:03:58,239 –> 00:04:01,439
url پایه
98
00:04:01,439 –> 00:04:05,439
را می گیرم، متغیری به نام URL پایه
99
00:04:07,040 –> 00:04:09,360
100
00:04:13,040 –> 00:04:16,879
ایجاد می کنم. اوه پایین برای ایجاد گزینه my headers
101
00:04:19,680 –> 00:04:22,240
، می خواهم پنجره توسعه دهندگان را
102
00:04:22,240 –> 00:04:25,360
با استفاده از میانبر f12 راه اندازی کنم،
103
00:04:25,360 –> 00:04:28,240
سپس به تب شبکه بروید
104
00:04:28,240 –> 00:04:29,919
و در اینجا من میخواهم f5 را برای تازهسازی فشار
105
00:04:29,919 –> 00:04:32,400
106
00:04:32,400 –> 00:04:34,880
دهم و تمام کدهای api را فهرست میکند، بنابراین
107
00:04:34,880 –> 00:04:39,280
روی oh کلیک کنید تا همه سؤالها نمایش داده شوند،
108
00:04:39,919 –> 00:04:42,960
زمانی که میخواهم انجام دهم.
109
00:04:42,960 –> 00:04:45,360
110
00:04:45,360 –> 00:04:48,080
111
00:04:48,080 –> 00:04:52,160
112
00:04:53,360 –> 00:04:56,160
اگر من به این مورد در اینجا نگاه کنم، برای
113
00:04:56,160 –> 00:04:57,520
ایجاد
114
00:04:57,520 –> 00:04:59,840
115
00:04:59,840 –> 00:05:01,759
116
00:05:01,759 –> 00:05:04,800
یک درخواست
117
00:05:04,800 –> 00:05:07,199
118
00:05:07,199 –> 00:05:10,560
استفاده می کند. آسیایی
119
00:05:10,560 –> 00:05:13,680
من میخواهم کد کلاس سازنده کاربر خود را ارائه دهم،
120
00:05:13,680 –> 00:05:16,639
121
00:05:16,880 –> 00:05:19,440
بنابراین میخواهم کلید عامل کاربر را وارد کنم و
122
00:05:19,440 –> 00:05:20,960
123
00:05:20,960 –> 00:05:23,759
اکنون مقدار آن را
124
00:05:23,759 –> 00:05:25,440
بچسبانم و این تنها چیزی است که میخواهم ارائه کنم که
125
00:05:25,440 –> 00:05:28,240
چرا یک کلاس فراخوانی
126
00:05:28,240 –> 00:05:29,600
درستی انجام میدهم، بنابراین در اینجا اجازه دهید من
127
00:05:29,600 –> 00:05:31,440
یک دیگری ایجاد کنم. متغیر
128
00:05:31,440 –> 00:05:33,919
من متغیر را نام می برم رشته پرس و جو
129
00:05:33,919 –> 00:05:35,440
و این عبارتی خواهد بود که
130
00:05:35,440 –> 00:05:37,360
می
131
00:05:37,360 –> 00:05:39,520
خواهم جستجو کنم،
132
00:05:39,520 –> 00:05:41,759
133
00:05:41,759 –> 00:05:44,000
در صورتی که احساس کردید نفرین ما حاوی
134
00:05:44,000 –> 00:05:47,600
فضاهایی است که باید آن فاصله را با علامت مثبت جایگزین کنیم
135
00:05:47,600 –> 00:05:50,560
136
00:05:51,440 –> 00:05:54,479
و آدرس اصلی را جابجا می کنم، در واقع عکاسی را جستجو می کنم.
137
00:05:54,479 –> 00:05:57,919
در زیر شی هدر
138
00:05:59,680 –> 00:06:01,759
می خواهم لیست خالی ایجاد کنم و
139
00:06:01,759 –> 00:06:04,960
نام
140
00:06:04,960 –> 00:06:07,199
141
00:06:07,199 –> 00:06:09,280
142
00:06:09,280 –> 00:06:11,120
پوسترهای لیست را
143
00:06:11,120 –> 00:06:13,120
می گذارم بنابراین اساساً چرا شما هر صفحه را می خوانید می خواهم همه پست ها را در برخی از لیست پوسترها ذخیره کنم، یک حلقه درج می کنم
144
00:06:13,120 –> 00:06:15,440
و چون این کار را نمی کنم می دانم چند
145
00:06:15,440 –> 00:06:18,160
پوستر خواهم داشت گاهی اوقات می
146
00:06:18,160 –> 00:06:20,319
تواند 100 باشد گاهی می تواند پانصد و
147
00:06:20,319 –> 00:06:23,120
گاهی دو هزار باشد،
148
00:06:23,120 –> 00:06:26,080
بنابراین من می خواهم مکان علامت خود را درج
149
00:06:26,080 –> 00:06:28,880
کنم که صفر و
150
00:06:28,880 –> 00:06:31,199
برای حد بالایی است. بیایید 5000 را انجام دهیم،
151
00:06:31,199 –> 00:06:34,240
زیرا به طور کلی 5000
152
00:06:34,240 –> 00:06:35,600
عدد بسیار خوبی است
153
00:06:35,600 –> 00:06:38,800
وقتی صفحات قدیمی را تکرار می کنید،
154
00:06:38,800 –> 00:06:43,120
من 120 مورد را در هر صفحه
155
00:06:43,440 –> 00:06:45,039
در داخل حلقه رد می کنم، می خواهم پارامترهای خود را ایجاد کنم،
156
00:06:45,039 –> 00:06:48,039
157
00:06:48,240 –> 00:06:51,039
ما curry داریم
158
00:06:51,280 –> 00:06:53,840
و این پرس و جو خواهد بود. رشته
159
00:06:53,840 –> 00:06:56,560
سپس ما باید uh skip که t است پارامتر he s
160
00:06:56,560 –> 00:06:59,120
161
00:07:00,319 –> 00:07:03,840
و این باید یک رشته
162
00:07:06,160 –> 00:07:08,560
درست باشد، پس بیایید کد درخواست را بسازیم و
163
00:07:08,560 –> 00:07:11,039
من پاسخ خروجی را نام میگذارم بنابراین
164
00:07:11,039 –> 00:07:13,520
از درخواست library.get است
165
00:07:13,520 –> 00:07:15,840
، میخواهم URL پایه را به
166
00:07:15,840 –> 00:07:18,319
دنبال پارامترها وارد کنم،
167
00:07:18,319 –> 00:07:21,120
سپس ضربهگیرها
168
00:07:21,840 –> 00:07:27,560
و ما مشخص میشویم. نام پارامتر
169
00:07:30,160 –> 00:07:32,160
و باید اعداد باشد
170
00:07:32,160 –> 00:07:34,319
و هنگامی که کد api را میسازیم
171
00:07:34,319 –> 00:07:35,520
بخواهد بررسی
172
00:07:35,520 –> 00:07:37,280
کند که آیا
173
00:07:37,280 –> 00:07:39,680
کد وضعیت پاسخ
174
00:07:39,680 –> 00:07:43,479
برابر با 200
175
00:07:44,080 –> 00:07:46,000
است یا خیر، این باید uh knight
176
00:07:46,000 –> 00:07:48,800
به 200 میرود.
177
00:07:49,759 –> 00:07:52,080
اگر این شرط برآورده شد، آنها میخواهند
178
00:07:52,080 –> 00:07:54,639
حلقه را اکسل کنند، بنابراین ما ‘میخواهد
179
00:07:54,639 –> 00:07:57,440
دستور break را درج کند
180
00:07:57,440 –> 00:07:59,120
و او میگوید که پاسخ
181
00:07:59,120 –> 00:08:00,319
تعریف نشده است،
182
00:08:00,319 –> 00:08:04,160
اوه، بنابراین این باید پاسخ باشد.
183
00:08:07,599 –> 00:08:09,599
184
00:08:09,599 –> 00:08:11,280
185
00:08:11,280 –> 00:08:13,840
186
00:08:15,599 –> 00:08:18,800
187
00:08:18,800 –> 00:08:20,479
188
00:08:20,479 –> 00:08:22,240
189
00:08:22,240 –> 00:08:24,319
گزینه پاسخ،
190
00:08:24,319 –> 00:08:26,000
حسابداری
191
00:08:26,000 –> 00:08:27,720
و برای روش، روش html.password خواهد بود
192
00:08:27,720 –> 00:08:30,240
193
00:08:30,240 –> 00:08:33,360
و باید
194
00:08:34,399 –> 00:08:36,320
پاسخ درست باشد، بنابراین میخواهم به
195
00:08:36,320 –> 00:08:38,559
پستهای cracklers برگردم،
196
00:08:38,559 –> 00:08:41,200
بنابراین برای این عبارت جستجو ما 198
197
00:08:41,200 –> 00:08:42,479
مورد داریم.
198
00:08:42,479 –> 00:08:46,800
اگر بخواهم 480 مورد را رد کنم و
199
00:08:46,800 –> 00:08:48,880
چون نتایج
200
00:08:48,880 –> 00:08:50,800
آنقدر لیست ندارد،
201
00:08:50,800 –> 00:08:54,000
بنابراین این پیام را دریافت
202
00:08:54,000 –> 00:08:56,160
می کنیم که کمی بیشتر زوم
203
00:08:56,160 –> 00:08:58,240
کنم، این جستجوی پیام را خواهید دید و
204
00:08:58,240 –> 00:09:00,640
پایان آن را خواهید یافت شروع
205
00:09:00,640 –> 00:09:03,120
حرکت برداشت بر روی بال ها
206
00:09:03,120 –> 00:09:05,040
و این پیام نشان می دهد که
207
00:09:05,040 –> 00:09:07,600
ما باید حلقه را متوقف کنیم یا
208
00:09:07,600 –> 00:09:10,160
تکرار را
209
00:09:16,240 –> 00:09:18,000
کاملاً متوقف کنیم، بنابراین در اینجا بیایید یک استراحت
210
00:09:18,000 –> 00:09:20,080
درست در اینجا قرار دهیم، دستورهای
211
00:09:20,080 –> 00:09:23,800
select را به خوبی اجرا
212
00:09:26,800 –> 00:09:29,680
کنیم تا اگر گزینه super را چاپ کنم
213
00:09:29,680 –> 00:09:31,440
و ما دوباره میخواهیم
214
00:09:31,440 –> 00:09:34,480
پیوندهای نشانهگذاری html را با
215
00:09:34,480 –> 00:09:37,839
این گزینه پاسخ دریافت کنیم،
216
00:09:39,120 –> 00:09:40,959
حالا به
217
00:09:40,959 –> 00:09:45,680
این صفحه باز میگردم، حالا اجازه دهید عنصر را کاملاً گسترش دهم،
218
00:09:49,519 –> 00:09:51,519
بنابراین اگر به این عنصر
219
00:09:51,519 –> 00:09:55,200
که به این بلوک کد uh مرتبط است، نگاه
220
00:09:55,200 –> 00:09:58,480
کنیم، حدس میزنم میتوانیم ببینیم که این uh را داریم. پیش تگ
221
00:09:58,480 –> 00:10:00,640
و به دنبال آن این شناسه moong
222
00:10:00,640 –> 00:10:04,640
که به این ویژگی id گره خورده است،
223
00:10:04,640 –> 00:10:07,040
بنابراین می توانم در اینجا این کار را انجام دهم این است که می توانم یک
224
00:10:07,040 –> 00:10:09,760