TỔNG HỢP CÁC LỖI THƯỜNG GẶP VÀ CÁCH XỬ LÝ LỖI 1: Không khởi tạo được trình duyệt Chrome "Error message: “'chromedriver' executable needs to be available in the path” Cách xử lý: stackoverflow.com/questions/29858752/error-message-chromedriver-executable-needs-to-be-available-in-the-path LỖI 2: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="ember19"]/input"} (Session info: chrome=89.0.4389.114) Cách xử lý: Trong video mình có đề cập một khái niệm là "Dynamic Element" (ở phần locate nút Next) là dạng thành phần mà cứ mỗi lần reload trang web là nó sẽ lại thay đổi cái ID của nó (vd lần 1 truy cập ID là "ember26", reload trang thì ID lại thành "ember19"). Khi mình làm video này thì nút Search không phải Dynamic Element nên mình tìm bằng xpath với ID được, nếu bạn gặp lỗi này thì có thể Linkedin đã đổi nên có thể sửa bằng cách thay vì dùng xpath với ID thì hãy dùng xpath với class nhé, thay cú pháp như bên dưới: search_field = driver.find_element_by_xpath('//*[@class="search-global-typeahead__input always-show-placeholder"]') LỖI 3: Mình làm theo video hết phần task 1 thì thông báo ở LinkedIn là: "Let's do a quick verification. The login attempt seems suspicious. To finish signing in please enter the verification code we sent to your email address." Cách xử lý: Để tránh việc đăng nhập quá nhiều lần trong khung thời gian ngắn, trong quá trình viết code và test code, bạn nên sử dụng các code editor có từng cell một vd như Jupyter Notebook, iPython Notebook, Google Colab, etc. để sau khi hoàn thành phần Đăng nhập, bạn có thể thao tác tiếp tục ở các code cell bên dưới thay vì việc chạy cả một file code thì bạn sẽ cứ phải đăng nhập lại mỗi lần chạy. Cụ thể trong video hướng dẫn mình sử dụng Jupyter Notebook trên Visual Studio Code, bạn sẽ thấy mình đăng nhập 1 lần thôi rồi sau đó chuyển sang các task khác bằng cách sử dụng các code cell bên dưới. Có một cách khác nữa để không cần đăng nhập vẫn kéo được dữ liệu là dùng thư viện request, có thể mình sẽ nói kĩ hơn ở video sau. LỖI 4: Lỗi báo là không xác định biến "URLs_all_page" Lỗi này có liên quan đến khái niệm "Global/Local Scope" trong function. Khi bạn tạo một biến bên trong function (Local Scope), biến này được gọi là Local Variable (biến URLs_all_page của mình đang là Local Variable). Local Variable chỉ có hiệu lực bên trong function của nó, nếu dùng ngoài Local Scope của nó (tức là dùng ở Global Scope, hoặc dùng ở Local Scope khác), biến sẽ không có hiệu lực. Để giải quyết vấn đề này thì mình phải tạo một Global Variable tên là URLs_all_page và gán giá trị function GetURLsonPages() cho nó ấy. Trong video mình có sơ xuất quay thiếu màn hình lúc mình tạo biến URLs_all_page = GetURLsonPages(). Giờ bạn chỉ cần thêm 1 dòng này trước khi bạn dùng biến URLs_all_page là chạy mượt
@quandaoxuan96722 жыл бұрын
Hi team, Cho anh hỏi team copy Xpath với class như nào nhé, anh copy và paste thì chỉ nhận được Xpath id. Cảm ơn team!
@BoringPPL2 жыл бұрын
@@quandaoxuan9672 dạ chào anh! theo mặc định thường khi copy xpath thì sẽ chỉ lấy dc xpath từ ID, nên nếu muốn có xpath từ class thì em sẽ tự viết luôn ạ. anh xem tham khảo video này ở phút 18:45 nhé trong đó em có chia sẻ về cách tạo xpath từ các attribute bất kỳ (eg. id, class, etc.) kzbin.info/www/bejne/b2qsooqwfr9rrK8
@quandaoxuan96722 жыл бұрын
@@BoringPPL cảm ơn em nhiều!
@netinter92072 жыл бұрын
copy cái xpath class của chị rồi mà nó vẫn lỗi như trên thì làm sao chị
@BoringPPL2 жыл бұрын
@@netinter9207 xpath class của element nào á em?
@HuyPham-id7us Жыл бұрын
nghe chị phát âm đã quá, mong chị ra nhiều video hơn nữa!!!
@joeytrinh77863 жыл бұрын
Tuyệt vời. B làm rất rõ ràng vs dễ hiểu vs cả những người hoàn toàn mới như mình. Hãy tiếp tục nhé
@BoringPPL3 жыл бұрын
cảm ơn bạn nha
@ducthuongtran75822 жыл бұрын
Rất hay và hữu dụng. Anh sẽ ủng hộ Team để ra tiếp những video tương tự như thế này.
@futurebinance25224 жыл бұрын
Rất hay và thực tế. Mong bạn ra thêm nhiều video như thế này. Làm các tool bên facebook thì chắc nhiều người quan tâm
@BoringPPL4 жыл бұрын
cảm ơn bạn đã ủng hộ kênh, mình sẽ làm thêm video ạ
@minhquang90074 жыл бұрын
Nội dung cô đọng, trình bày rất lôi cuốn ^^ Keep moving nhe1ee sis
@BoringPPL4 жыл бұрын
cảm ơn bạn đã ủng hộ kênhhhh
@anonemoretime34993 жыл бұрын
Chị giỏi quá. Mong nhiều người biết đến kênh của Chị!
@BoringPPL3 жыл бұрын
cảm ơnnn em nhiềuuu nhe
@palomadoan4 жыл бұрын
Rất hay và rất dễ hiểu, cảm ơn bạn nhiều. Chúc bạn luôn khỏe và làm thêm nhiều videos hay như này nữa nhé
@BoringPPL4 жыл бұрын
cảm ơnnn bạn nhé
@DevNhaX79014 жыл бұрын
Nội dung rất hay chị ạ!!! Chắc chắn tương lai kênh sẽ rất phát triển.
@BoringPPL4 жыл бұрын
cảm ơn bạn nhiều nhé
@tuananhdinh38713 жыл бұрын
đỉnh quá, giờ mới biết tới kênh của bạn. Cách truyền đạt tuyệt vời :)
@BoringPPL3 жыл бұрын
cảm ơnn bạn nha
@nguyenhuy3273 жыл бұрын
Tuyệt vời. Mong bạn ra nhiều video bổ ích hơn nữa.
@BoringPPL3 жыл бұрын
cảm ơnn bạn ạ
@nguyendactung2 жыл бұрын
Kênh này hay thế nhỉ :3 Code gọn, sạch mà dễ hiểu
@BoringPPL2 жыл бұрын
dạa mình cảm ơnn ạ
@coding_vlsi_vietnam4 жыл бұрын
kênh rất hay nha bạn . Rất thích học CNTT mà quá bận rộn vì công việc . Kênh hay lắm bn
@BoringPPL4 жыл бұрын
Cảm ơnnn bạn nhaa
@longviet99964 жыл бұрын
Rất chi tiết và dễ hiểu. Cảm ơn bạn nhiều
@BoringPPL4 жыл бұрын
không có chiii bạn, cảm ơn bạn đã ủng hộ kênh
@toilakysu91673 жыл бұрын
Nghe giọng thấy hay lên xem không phải tua!
@BoringPPL3 жыл бұрын
cảm ơnnn bạn
@VidishArvind3 жыл бұрын
I couldn't understand the language but loved your tutorial, thanks....i think i saw the english version somewhere.🤔
@hoanguyenthien91142 жыл бұрын
phát âm tiếng anh của bạn rất ấn tượng
@BoringPPL2 жыл бұрын
cảm ơn bạn ạ
@manhpham57723 жыл бұрын
What a great work you did! keep it up.
@BoringPPL3 жыл бұрын
Thank youuuu
@sadlyken3 жыл бұрын
ok bạn xứng đáng 1m likes !
@BoringPPL3 жыл бұрын
thankss bạn nhìuu nhe
@sadlyken3 жыл бұрын
@@BoringPPL cho mình hỏi với cách này mình có thể lấy dữ liệu trên các trang chứng khoán có số liệu báo cáo tài chính ko ?
@BoringPPL3 жыл бұрын
@@sadlyken về cơ bản là được hết đó bạn, trừ khi trang web đó chặn crawler thôi, nếu không thì oke hết :D
@speedbeeqs4 жыл бұрын
Giọng bạn trình bày nghe cute ghê
@BoringPPL4 жыл бұрын
cảm ơnn bạn nheee
@minhtien959611 ай бұрын
VIDEO của bạn hay quá, mình mong được học hỏi thêm từ bạn
@BoringPPL11 ай бұрын
dạaa cảm ơn bạn nhee~
@gmeow-f4p Жыл бұрын
trời uiiiii, đỉnh quá c oiwiiiii!!!! e cảm ơn c nhìuuuuuu
@Thichlathich3 жыл бұрын
Rất dễ hiểu, thankyou!
@BoringPPL3 жыл бұрын
cảm ơnn bạn
@thieuquang79783 жыл бұрын
Video khá chi tiết, tuy nhiên mình góp y nên nói tự nhiên hơn, mình cảm giác cách bạn truyền tải giọng chưa tự nhiên và hơi giống giảng bài
@BoringPPL3 жыл бұрын
Cảm ơn góp ý của bạn nhe
@huytruongcong92504 жыл бұрын
Chị giỏi ghê, em chưa làm được gì cả, hic
@BoringPPL4 жыл бұрын
Em cứ bắt đầu và kiên trì đi rồi sẽ làm được nè, nhanh thì vài tháng còn chậm thì 1-2 năm. nhưng cái quan trọng là bắt đầu và tiếp tục làm cho đến khi được :)))
@daotrongduc994 жыл бұрын
Giọng của chị hay 👍
@BoringPPL4 жыл бұрын
cảm ơn emmm đã ủng hộ kênh
@ThuNguyen-pe8pv3 жыл бұрын
Cám ơn bạn nội dung rất hay và dễ hiểu, thậm chí đối với người chỉ biết chút cơ bản như mình! Bạn có thể làm thêm video về điều khiển một chương trình trên PC không? Mình thấy có rất nhiều chương trình trên PC mà sẽ phải lặp đi lặp lại rất nhiều thao tác giống nhau cho nhiều files! Cám ơn bạn rất nhiều!
@BoringPPL3 жыл бұрын
cảm ơnn bạn đã ủng hộ nhe
@ThuNguyen-pe8pv3 жыл бұрын
@@BoringPPL Cám ơn bạn nhiều! Hôm nay mình thử làm theo các bước hướng dẫn của bạn và tới đoạn này mình không hiểu sao mình bị lỗi? Bạn có thể nhìn giúp mình không? Lỗi báo là không xác định biến "URLs_all_page" nhưng mình có gọi ở trên rồi, và cũng làm theo các bước như bạn! Mình không biết lỗi này xử lý thế nào? Đây là đoạn code mình chạy theo clip hướng dẫn của bạn! Cám ơn bạn nhiều! def GetURLsonPages(): input_page = int(input()) URLs_all_page = [] for page in range(input_page): URLs_one_page = GetURL() sleep(2) driver.execute_script('window.scrollTo(0, document.body.scrollHeight)') sleep(2) next_click = driver.find_element_by_class_name("artdeco-pagination__button--next") next_click.click() URLs_all_page = URLs_all_page + URLs_one_page sleep(2) return URLs_all_page print(GetURLsonPages()) #print(URLs_all_page) driver.get(URLs_all_page[0]) NameError Traceback (most recent call last) in ----> 1 driver.get(URLs_all_page[0]) NameError: name 'URLs_all_page' is not defined
@BoringPPL3 жыл бұрын
@@ThuNguyen-pe8pv À lỗi này có liên quan đến khái niệm "Global/Local Scope" trong function. Khi bạn tạo một biến bên trong function (Local Scope), biến này được gọi là Local Variable (biến URLs_all_page của mình đang là Local Variable). Local Variable chỉ có hiệu lực bên trong function của nó, nếu dùng ngoài Local Scope của nó (tức là dùng ở Global Scope, hoặc dùng ở Local Scope khác), biến sẽ không có hiệu lực. Để giải quyết vấn đề này thì mình phải tạo một Global Variable tên là URLs_all_page và gán giá trị function GetURLsonPages() cho nó ấy. Bạn nói mình mới nhận ra trong video mình có sơ xuất quay thiếu màn hình lúc mình tạo biến URLs_all_page = GetURLsonPages(). Giờ bạn chỉ cần thêm 1 dòng này trong chương trình trước khi bạn dùng biến URLs_all_page là chạy mượt
@ThuNguyen-pe8pv3 жыл бұрын
@@BoringPPL Mình cám ơn bạn nhiều lắm! Bạn trả lời từng comment của mọi người, rất cám ơn bạn vì sự nhiệt tình và chia sẻ kiến thức này! :) Mình đã chạy lại toàn bộ code, và có thêm dòng code như bạn bảo, nhưng mình chạy vẫn không ra và báo lỗi, như này không biết là lỗi gì bạn nhỉ ? Bạn có thể xem giúp mình không? Mình cám ơn bạn nhiều! Mình chạy code như này: URLs_all_page = GetURLsonPages() driver.get(URLs_all_page[0]) Và kết quả báo là: WebDriverException: Message: unknown error: net::ERR_NAME_NOT_RESOLVED (Session info: chrome=91.0.4472.124)
@BoringPPL3 жыл бұрын
@@ThuNguyen-pe8pv Bạn kiểm tra lại thử URL truyền vào đúng không nhé. Bạn in giá trị này ra và make sure nó là URL chính xác nha "URLs_all_page[0]" Lý do gặp lỗi: "What does the error message “ERR_NAME_NOT_RESOLVED” mean? When you receive the “ERR_NAME_NOT_RESOLVED” error message, Chrome is saying that it could not find the IP address which matches the website domain name you entered." www.ionos.com/digitalguide/hosting/technical-matters/err-name-not-resolved-error/
@letu37164 жыл бұрын
Được quá sis ơi, keep your good work !
@BoringPPL4 жыл бұрын
okieeela emmm
@ckaiwei4 жыл бұрын
relevant content for production work.
@huonggiang5372 жыл бұрын
Mình chưa thấy kênh nào về lập trình lại có cách trình bày dễ hiểu như vậy. Cảm ơn bạn :) mong bạn ra nhiều video hơn nữa. Cho mình hỏi có cách nào để liên kết với 1 web đã đăng nhập sẵn không? vì cái của mình có vấn đề là phần đăng nhập có mã captcha nữa?
@BoringPPL2 жыл бұрын
cảm ơn bạn ạ
@huonggiang5372 жыл бұрын
@@BoringPPL cảm ơn bạn. Trong mấy ngày qua mình mò ra cách dùng token để đăng nhập và gửi request. Mong bạn ra nhiều video hơn. Mình rất thích kênh nên đã like gần hết các video của kênh rồi :D
@BoringPPL2 жыл бұрын
@@huonggiang537 uii cảmm ơnn bạnn nhiều lắm!
@phamngoctoan53310 ай бұрын
cám ơn bạn rất nhiều, chúc bạn có nhiều video hữu ích
@BoringPPL10 ай бұрын
cảmm ơnn bạn đã ủng hộ ạaa
@trungnghia42853 жыл бұрын
bạn có thể lập trình bót kéo dữ liệu người dùng từ faceboock được không bạn . Hóng quài mà chưa thấy clip
@ducthuongtran75822 жыл бұрын
Anh muốn đăng ký học python với BoringPpl thì liên hệ như thế nào em ha?
@linhle42152 жыл бұрын
cho mình hỏi sao trình duyệt chrome của mình tự động tắt sau khi thực hiện xong lệnh get() ta?
@nguyenphuocnham78433 жыл бұрын
xịn quá c ơi kkk
@BoringPPL3 жыл бұрын
thanks emmm
@dm_haui Жыл бұрын
thích cách mọi thứ chi tiết và dễ dàng
@PMinh_Mtcd8 ай бұрын
Chào Ad. Ad có thể cho mình xin link tải jupyter notebook giống của bạn, phiên bản dành cho Windown được ko ah? Bản JN mình cài có vẻ hơi khác với bạn. Mong bạn chia sẻ. Cảm ơn bạn.
@kysuketcau.T3 жыл бұрын
Mình đã Sub và Like. Thanks.
@BoringPPL3 жыл бұрын
cảm ơnn bạn
@anhquanle22612 жыл бұрын
Sao mình chạy trên vsc trên base anaconda (selenium cài trong anaconda) cứ đến bước login là giao diện webdriver của safari bay mất luôn, chạy bên jupyterlab thì ngon lành 😢
@tranminhquoc68284 ай бұрын
thay vì áp dụng cho linkedin thì e làm tương tự vs facebook, chiều chạy ngon ơ đi thể thao ăn tối xong cái chạy lại thì ElementClickInterceptedException, cíu em
@BoringPPL4 ай бұрын
chúc mừngg elm nhee
@tranminhquoc68284 ай бұрын
đã fix :D
@BoringPPL4 ай бұрын
@@tranminhquoc6828 kwá mêee 😍
@utherpally53044 жыл бұрын
Tuyệt vời!
@BoringPPL4 жыл бұрын
cảm ơn bạn đã ủng hộ kênh
@nguyennu3422 Жыл бұрын
Cho mình hỏi là vs code của mình lại chỉ có hàm find_element, mình đang không biết làm thế nào để có find_element_by_id
@PMinh_Mtcd8 ай бұрын
Và mong Ad nói chậm, thao tác chậm lại hơn 1 chút, thay vì phải chỉnh speed trên youtube, nghe nó hơi đừ ah.
@BoringPPL7 ай бұрын
dạa cảm ơn feedback của bạn ngen~ mình xin ghi nhận ạa
@namnguyenngoc1948 Жыл бұрын
mình scraping 100 triệu record để làm bài nghiên cứu khoa học sử dụng big data dc k ạ
@hoangnhatquang47432 жыл бұрын
Clip bạn hay. Nhưng chất lượng hình ảnh hơi kém. Khó nhìn qué
@phamkhacvinh79423 жыл бұрын
Làm thử series điuề khiển ứng dụng PC bằng python đi chị
@dungbuitoan68793 жыл бұрын
tại sao tớ chạy c.trình xong đc 1 mấy giây, web tự động mất vậy ạ?
@tronghunghcn39062 жыл бұрын
@@dungbuitoan6879 cái này mình không biết bên MAC ntn nhưng bên WIN cũng bị giống bạn, khác phục = cách import thứ viện os vào với câu lệnh: import os (... ....) os.system("pause")
@makemoney66143 жыл бұрын
Hay qua ad oi
@BoringPPL3 жыл бұрын
mình cảm ơnn nhé
@EdwinMartinez0013 жыл бұрын
hay lắm chị
@BoringPPL3 жыл бұрын
cảm ơnnn em
@sangnguyenquang94904 жыл бұрын
hóng bài tiếp theo
@BoringPPL4 жыл бұрын
có bài tiếp theo rùi đó nha :))) cảm ơn bạn đã ủng hộ kênh
@hikiauto3 жыл бұрын
Cô giáo dạy hay quá. Cho mình hỏi thêm. Mấy trang web chặn IP hay doss gì đó. Mình requests khoảng 20-30 link thì chặn IP. Có cách nào vượt qua chặn IP ko bạn. Ngồi đổi vpn lâu quá. Thanks
@BoringPPL3 жыл бұрын
cảm ơn bạn
@nguyenthinh3789 Жыл бұрын
thanks very much
@trietle30332 жыл бұрын
selenium lỗi nhiều quá, mình ko chạy được ngay từ task 1 Nó báo lỗi như này: DeprecationWarning: executable_path has been deprecated, please pass in a Service object
@viennaarlene23203 жыл бұрын
như vậy mình chỉ có thể scrape data khi máy cài trình duyệt Chrome và sử dụng Jupyter ak? Vì máy mình chỉ dùng Microsoft Edge và Colabs
@BoringPPL3 жыл бұрын
Hello bạn, theo mình biết thì Selenium hỗ trợ các loại browser sau: Chrome, Firefox, Internet Explorer, Opera, Safari. Nếu dùng Microsoft Edge thì có thể bạn phải tìm hiểu thư viện khác rồi. Còn Colabs và Jupyter thì tính năng như nhau nên bạn chạy trên Colabs hay Jupyter hay Source code Python đều được.
@hoaibui73953 жыл бұрын
Cám ơn bạn vì video hữu ích. Nhưng mà hình như tiếng hơi nhỏ.
@BoringPPL3 жыл бұрын
cảm ơnnn bạn đã ủng hộ ạaa
@hoaibui73953 жыл бұрын
@@BoringPPL 💪💪💪💪
@Jack328Vlogs2 жыл бұрын
Bạn ơi, cho mình hỏi làm cách nào để mình lấy data của 1 website có nút "next page" nhưng khi click vào thì url không đổi vậy bạn? vì mỗi lúc click vào "next page" thì source page lại đổi nhưng mình chưa biết cách lấy data đó về như thế nào cả, mong bạn giúp đỡ... cảm ơn bạn!
@BoringPPL2 жыл бұрын
helluu bạn, bạn cho mình xin ví dụ trang web nhé
@hoangphuluu58634 жыл бұрын
Bạn có thể chia sẻ source code/ github được không? Thanks
@BoringPPL4 жыл бұрын
Đây bạn nhé, mình vừa đính link trên description: github.com/boringPpl/Linkedin-profiles-scraping/
@hoangphuluu58634 жыл бұрын
@@BoringPPL thanks b!
@caolun65233 жыл бұрын
Video hữu ích. Mà giọng đọc tiếng anh nặng quá @@ nghe hơi khó chịu
@BoringPPL3 жыл бұрын
cảm ơnn chia sẻ và góp ý của bạn nhe
@nguyentheat53673 жыл бұрын
14:39 Trong quá trình làm, đến đoạn send_keys(Keys.RETURN) để ấn nút enter để search mình gặp lỗi 'Message: element not interactable (Session info: chrome=92.0.4515.159)' mà mình không biết lỗi do phiên bản của chrome k, mong bạn giải đáp
@BoringPPL3 жыл бұрын
hello bạnnn, lỗi này có khả năng cao là do bạn định vị nhầm element rồi á, bạn đang định vị vào 1 cái elements mà không bấm Enter được
@HungtunREVO4 жыл бұрын
cảm ơn chị yêu
@BoringPPL4 жыл бұрын
không có chiii em iuuu
@oroscopoitaly3 жыл бұрын
find_field = driver.find_element_by_xpath('//*[@id="mount_0_0_Ho"]/div/div[1]/div/div[2]/div[2]/div/div/div/div/div/label/input') search_query = input('What do u wanna search?') find_field.send_keys(search_query) find_field.send_keys(Keys.RETURN) Chị ơi sau khi em chạy dòng tự động tìm tên xong nó lại ko hiện ra ""What do u wanna search?'' ở phần Terminal như của chị nhỉ?
@BoringPPL3 жыл бұрын
nó có báo lỗi gì ko em nhỉ? em nhớ save code trước khi chạy nhé
@quoclechi5604 Жыл бұрын
mình chạy hết đoạn trên rồi mà xuống chọn element thì không được, nó hiện lỗi này: 'WebDriver' object has no attribute 'find_element_by_name' bạn cho mình xin cách khắc phục với ạ
@tructran6354 Жыл бұрын
Mình cũng hiện lỗi như vậy, chưa biết sửa thế nào.
@truonghoangminh8884 Жыл бұрын
@@tructran6354 Do thư viện đã update câu lệnh mới rồi á bạn, bạn fix thành find_element('name','tên đối tượng') là được nhé
@bibochip13 жыл бұрын
có thư viện nào tìm đến field => điền thông tin và submit form không ạ?
@BoringPPL3 жыл бұрын
thư viện cụ thể làm chuyện đó thì mình không biết nhưng dùng selenium cũng oke đó bạn, logic tương tự như Task 1 lúc bạn điền thông tin đăng nhập
@bibochip13 жыл бұрын
@@BoringPPL cảm ơn bạn, mình coi hết video mới thấy dùng selenium là gần như cover hết các cases mình cần rồi. Hy vọng bạn sẽ mở rộng nội dung về deep learning nữa. Bị ghiền kênh bạn rồi.
@BoringPPL3 жыл бұрын
@@bibochip1 cảm ơn bạnn nhee
@sonnguyenthanh6811 Жыл бұрын
Chị ơi, sẽ ra sao nếu hit limitation từ Linkedin, như này 1 nick chỉ quét được khoảng 60-70 là bị chặn rồi
@BoringPPL Жыл бұрын
helluu em! chị làm video này hồi 2 năm trước ó giờ Linkedin đã có nhiều thay đổi và cũng chặn bot gắt gao hơn ahuhu chị cũng chưa xem lại nên cũng ko còn nắm tình hình nữa.
@nhatnguyenle53783 жыл бұрын
chrome being controlled by automated test software? để giải quyết vấn đề này như thế nào?
@BoringPPL3 жыл бұрын
hello bạn, bạn tham khảo hướng dẫn xử lý ở đây nhé stackoverflow.com/questions/43143014/chrome-is-being-controlled-by-automated-test-software
@trongpham99993 жыл бұрын
Mình tới đoạn 12:11 log in vào LinkedIn thì gặp phải: - yêu cầu nhập Verify code qua SMS, - vì Chrome Driver mỗi lần chạy là 1 cửa sổ mới hoàn toàn nên bước Verify này sẽ luôn được gọi lại và trả về 1 code qua SMS Vậy có cách nào để skip được qua bước này không? Hay bạn chỉ thêm 1 đoạn code để có thể đợi và input Verify code này vào rồi mới đăng nhập tiếp. Cảm ơn rất nhiều,
@trongpham99993 жыл бұрын
Mình đã tự giải quyết phần Verify bằng cách vào Setting của LinkedIn > và tắt phần Verify đi, thì không cần phải nhập code qua SMS nữa. Cảm ơn,
@trongpham99993 жыл бұрын
Hy vọng bạn sẽ tiếp tục ra nhiều video hơn, Có thể giảm thiểu hiệu ứng để giảm thiểu thời gian render video cũng được, nội dung của bạn rất lôi cuốn và thực tiễn. Cảm ơn bạn và cả team!
@BoringPPL3 жыл бұрын
@@trongpham9999 cảm ơn bạn nhiều nhaa
@diemquyentran77292 жыл бұрын
Dạ cho em hỏi task 4 là thu thập hết thông tin của từng profile mà trong task 3 mình đã thu thập url đúng không ạ
@BoringPPL2 жыл бұрын
đúng rùi đó em
@ngohoang54512 жыл бұрын
Hi bạn, cảm ơn bạn vì video rất hữu ích. Mình đang tự học lập trình và mới bắt đầu. Mình gặp lỗi name "null" is not defined. Mình loay hoay mãi mà chưa hiểu vì sao. Chắc do lỗi lưu file gì đó mà mình chưa biết cách khắc phục. Bạn giải thích dùm mình và giúp mình với được không? Cảm ơn bạn nhiều.
@BoringPPL2 жыл бұрын
hello bạn. chắc do bạn đang dùng một biến nào đó tên "null" mà trước đó bạn chưa định nghĩa biến á
@longbow82652 жыл бұрын
bạn ơi mình tự động đăng nhập vào linkedin bây h nó toàn bắt phải verify, có phải do ip của mình hay do tài khoản của mình bị linkedin hạn chế ko bạn nhỉ?
@BoringPPL2 жыл бұрын
hello bạn, đúng rùi đó bạn đăng nhập nhiều quá thì IP device của bạn bị Linkedin flag á. mình nghĩ bạn nên dừng vài ngày, hoặc tìm cách đổi IP. với cả lúc code để tránh đăng nhập nhiều lần thì mình dùng Jupyter Notebook thay vì file .py nha, nếu dùng Jupyter Notebook thì nó bắt bạn verify bạn cứ verify thủ công thôi rồi xuống code cell mới code tiếp :D
@longbow82652 жыл бұрын
@@BoringPPL thanks bạn nhé
@hthchannel1998 Жыл бұрын
sao mình làm nó báo là k có thuộc tính find. element.by_ID nhỉ
@annguyen316811 ай бұрын
Selenium xóa method đó từ version 4.3.0. Giờ bạn dùng method này nhé driver.find_element("name", "chuỗi") . Với name là loại cần lấy id, name, class, xpath. Ví dụ : search_box = driver.find_element("name", "Richest people")
@nobitpham3 жыл бұрын
Cho mình hỏi nếu muốn download cả file pdf cv của các profile thì nên làm theo hướng nào là tối ưu nhất ạ?
@BoringPPL3 жыл бұрын
mình cũng chưa làm case này nên cũng không rõ cách nào tối ưu nhất. ở bước định vị thì mình nghĩ là cũng giống với định vị các element khác, dùng try pass để bỏ qua các profile không có CV PDF. còn ở bước lưu trữ thì dùng thêm thư viện request, bạn có thể tham khảo ở đây nhé kzbin.info/www/bejne/hJDCo2CaaNWdgck
@nobitpham3 жыл бұрын
@@BoringPPL Mình tìm cái file resume trên Linkedin ở nút More cũng không thấy luôn huhu
@BoringPPL3 жыл бұрын
@@nobitpham không phải ai cũng attach resume trên linkedin ấy bạn 😅😅
@baothai7866 Жыл бұрын
vid hay quá ạ
@BoringPPL Жыл бұрын
cảmmm ơn bạn ạaa
@musicl23633 жыл бұрын
Thanks ban Video rat hay minh dang bi loi o Task 1 phan click nut signin: AttributeError: 'list' object has no attribute 'click' ban ho tro nhe!
@BoringPPL3 жыл бұрын
hello bạn, code bạn định vị nút signin thế nào ấy nhỉ? do giá trị trả về từ biến định vị nút signin của bạn đang là một list nên selenium không click vào được ấy bạn
@musicl23633 жыл бұрын
signin_field = driver.find_elements_by_xpath('//*[@id="app__container"]/main/div[2]/form/div[3]/button') signin_field.click() Monh code y nhu ban a
@BoringPPL3 жыл бұрын
@@musicl2363 "find_element" thôi bạn, bạn dùng "find_elements" nó trả về list ấy nên bạn không click dc 😅 này hog có y chang nha hehe
@loixuan21542 жыл бұрын
thông tin hình như bên linkedin đã khóa lại rồi hay sao ấy chị? Không thể tương tác được.
@BoringPPL2 жыл бұрын
hello em, em đang nói đến bước nào ấy nhỉ? có nhiều lý do để code ko chạy lắm em :D
@loixuan21542 жыл бұрын
@@BoringPPL Task 3 chị. bên Linkedin đã khóa lại thông tin user nên không thể kéo dữ liệu về được chị ạ
@BoringPPL2 жыл бұрын
@@loixuan2154 em nhận được thông báo gì từ Linkedin hoặc từ máy tính để kết luận như vậy ấy nhỉ? tại vì thông tin nó nằm trên page source, chị inspect vào vẫn thấy thông tin nằm trên đấy, nên chị chưa hiểu ý em "khoá" là sao :D
@loixuan21542 жыл бұрын
@@BoringPPL Em làm theo hướng dẫn thì đến task 3 có vài sự khác với chị á. 1. Giao diện em khác với giao diện chị 2. khi click vào hồ sơ của mỗi người thì sẽ thống báo "You don’t have access to this profile The profiles of members who are outside your network have limited visibility. To access more member profiles, continue to grow your network." như này nè chị
@BoringPPL2 жыл бұрын
@@loixuan2154 à chị hiểu rồi, nếu em gặp lỗi đó thì lý do là vì những profile em chọn họ đang ở chế độ không cho em truy cập tài khoản của họ á, cái này một phần chị đoán có thể do tài khoản linkedin của em chưa có nhiều bạn lắm, nên không có nhiều 1st, 2nd, 3rd-degree network. vấn đề này là do tài khoản cá nhân ấy em, không phải vấn đề kỹ thuật
@theanhtran53473 жыл бұрын
Ad đang dùng phần mềm gì đó? Hihi
@BoringPPL3 жыл бұрын
helluu bạn :D ad dùng Visual Studio Code cài thêm 2 extension là Python và Jupyter để tạo môi trường Jupyter Notebook trên VSC í bạn
@SatLinh09012 жыл бұрын
JavaScript có cái nào tương tự v ko ạ
@BoringPPL2 жыл бұрын
chị không rành JS nên cũng ko chắc nữa, nhưng nghe đồn dùng Node làm dc, làm nhanh hơn Python nhiều luôn á
@hoangtinho16423 жыл бұрын
Bạn có cách nào để chỉnh phần nhập thông tin chậm không . Thay vì nó bắn vèo vèo . Như autotype set time nhập chậm lại ấy
@BoringPPL3 жыл бұрын
Hellu bạn, mình có thể lặp qua từng ký tự nhập vào rồi dùng sleep á, thay vì code như này email_box = driver.find_element_by_id("element-id") email_box.send_keys("youremail") thì đổi thành vầy: email_box = driver.find_element_by_id("element-id") your_email = "youremail" for character in your_email: email_box.send_keys(character) time.sleep(0.3) # pause for 0.3 seconds Còn nếu bạn muốn thời gian nghỉ nó random chút kiểu 0.1, 0.3, 0.2s đồ thì bạn dùng thư viện random nhé Source: stackoverflow.com/questions/42891515/how-to-slow-down-the-speed-of-send-keys-action-in-a-selenium-script-using-python
@hoangtinho16423 жыл бұрын
@@BoringPPL thank bạn nha hay qá
@hoangtinho16423 жыл бұрын
Mình thử time.sleep(random.randint(0.1, 0.5)) và import random rồi nhưng nó chạy đúng ký tự đầu và đứng lại bạn fix giúp mình với
@hoangtinho16423 жыл бұрын
Í mình làm dc rồi nhé ham randint tra về số nguyên / còn random.uniform(dungcho float)
@BoringPPL3 жыл бұрын
@@hoangtinho1642 cool bạn
@baothaivuong14633 жыл бұрын
tạo acc clone để crawl dữ liệu thì sau khi search từ khóa tên người dùng bị đổi thành Linkedln Member có cách nào khắc phục không chị?
@BoringPPL3 жыл бұрын
Khi search người dùng bị đổi thành Linkedin Member là do người dùng đó không cho phép người lạ (là những người không phải 1st, 2nd, 3rd degree connection) xem thông tin của mình. Khi gặp vấn đề này thì em chỉ có thể kết nối với nhiều người dùng để mở rộng network của mình rồi mới xem được nhiều tài khoản hơn thui
@ThanhsonKG7 ай бұрын
Mới bắt đầu học mà nhìn bạn viết code mà rối não quá
@minhucreview86473 жыл бұрын
Em chào chị,e đang ở task 3 khi gõ software engineer people thì bị class thành visually-hidden,e có mở rất nhiều tab khác và đều bị tình trạng vissualy-hidden,vậy có cách nào search để ra data mà k bị hidden k ạ. Em xin cảm ơn vì chị đã đọc!
@BoringPPL3 жыл бұрын
hello em, chị đoán là do cửa sổ browser của em bé quá máy tính không định vị được khung search, em thử thêm code bên dưới đây để mở to cửa sổ xem sửa được lỗi không nhé from selenium.webdriver.chrome.options import Options chrome_options = Options() chrome_options.add_argument("--window-size=1920,1080") driver = webdriver.Chrome(chrome_options=chrome_options)
@minhucreview86473 жыл бұрын
@@BoringPPL để e thử ạ❤️
@MienManMoMong2 жыл бұрын
Em muốn tách bước 4 ra thành hai bước, lấy thông tin lưu vào mảng sau đó mới lấy dữ liệu từ mảng xuất ra file csv theo vòng lặp thì phải làm như thế nào ạ tại vì dữ liệu em lấy tận 80 dòng, em cảm ơn chị.
@BoringPPL2 жыл бұрын
hello em. em làm theo thao tác từ 28:14 - 28:34 để lấy dữ liệu thôi, sau đó em lưu vào mảng theo ý em, có mảng rồi thì em làm từ 28:50 để lấy giá trị trong mảng lưu vào csv
@MienManMoMong2 жыл бұрын
@@BoringPPL Em tạo function def All_Data() giá trị trả về là thông tin trong mảng, sau đó em cho Product_CSV = All_Data() Product_CSV.to_csv('output.csv') thì bị lỗi 'list' object has no attribute 'to_csv' ------ Em có thử in ra mảng print(All_Data()) sau đó em thử làm riêng df = pd.DataFrame(...) ... copy toàn bộ đoạn data vừa in df.to_csv('output.csv') thì lại lưu file csv được, em hơi bị lúng túng từ ngữ nhưng mong chị giải đáp ạ
@BoringPPL2 жыл бұрын
@@MienManMoMong à khi dùng cú pháp em chịu khó đọc thêm documentation nha. Ví dụ cú pháp em dùng là .to_csv (đường dẫn: pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_csv.html) trên documentation hướng dẫn là em phải dùng to_csv lên một dataframe mới được, ở trường hợp 1 bị lỗi "'list' object has no attribute 'to_csv'" do em dùng .to_csv lên một list còn đợt 2 lúc em thử lại chị chưa nắm được cách em làm lắm nhưng nhìn sơ thì có vẻ là do em đã convert mảng của em qua dataframe rồi nên em lưu được mảng vào csv
@phongtruong8243 жыл бұрын
Em làm tới bước sendkey: email_field = driver.find_element_by_id('username') email_field.send_keys('youremail') nhưng không tự động điền youremail vào khung. Chị giúp em kiểm tra có bị lỗi gì không?
@BoringPPL3 жыл бұрын
hello em, máy có báo lỗi gì không em? em thử tắt hết các trình duyệt rồi chạy lại xem
@phongtruong8243 жыл бұрын
@@BoringPPL Cảm ơn chị đã phản hồi. Máy tính có phản hồi như bên dưới ạ. Copyright (C) Microsoft Corporation. All rights reserved. Try the new cross-platform PowerShell aka.ms/pscore6 PS C:\Users\User> & C:/Users/User/AppData/Local/Programs/Python/Python39/python.exe c:/Users/User/Desktop/hoc.py DevTools listening on ws://127.0.0.1:51249/devtools/browser/c0e47302-6e68-45f2-a267-6ee6f48a2560 [8284:12796:0704/141906.547:ERROR:device_event_log_impl.cc(214)] [14:19:06.547] USB: usb_device_handle_win.cc:1058 Failed to read descriptor from node connection: A device attached to the system is not functioning. (0x1F) [8284:12796:0704/141906.549:ERROR:device_event_log_impl.cc(214)] [14:19:06.549] USB: usb_device_handle_win.cc:1058 Failed to read descriptor from node connection: A device attached to the system is not functioning. (0x1F) Traceback (most recent call last): File "c:\Users\User\Desktop\hoc.py", line 9, in credential = open('1.txt') FileNotFoundError: [Errno 2] No such file or directory: '1.txt' PS C:\Users\User>
@kiethuynhanh25492 жыл бұрын
Dạ chị, em tính áp dụng bài này qua crawl điểm thi thật thì cũng được phải hong chị ?
@BoringPPL2 жыл бұрын
miễn sao là public data thì chị nghĩ là được hết đó em
@timmonreview2 жыл бұрын
Không biết bạn có thấy cmt của mình không, mình thấy code của bạn mỗi lần viết xong sẽ ẩn đi và cod nút play để chạy từng đoạn code sau mà ko cần thực thi hết, ko biêtd tính năng này chỉ có trên macbook thôi phải ko, trên windows ko biết có không
@BoringPPL2 жыл бұрын
helluu bạn, do mình dùng Jupyter Notebook (đuôi file .ipynb) trên VSCode thay vì dùng file python (đuôi file .py) ấy bạn. dùng Jupyter Notebook sẽ có từng code cell thay vì chạy cả script
@sumontimtech2 жыл бұрын
@@BoringPPL người đẹp ơi, ở phần claw link data thì nó chỉ craw có 1 người thôi, sau khi dùng BeautifulSoup thì không cho nó đứng chung biến với mấy cái nằm ở trên được, phiền bạn có thể hướng dẫn mình phần này không, không biết giải thích sao để bạn có thể hiểu được hix
@BoringPPL2 жыл бұрын
@@sumontimtech helluu bạn, bạn giúp mình đăng bài vào page này đính kèm hình để được hỗ trợ tốt hen nhe
@huyle-ve8qi3 жыл бұрын
Hello c :) c ơi nếu trong trường hợp e muốn lấy tất cả các trang thi khi đến trang cuối button "Next" sẽ bị disable k còn click được nữa thì lúc đo chương trình sẽ bị lỗi thì cách lặp sẽ ntn ạ ?
@BoringPPL3 жыл бұрын
hello em, nếu vậy thì em viết code ở dạng try except nha, vd mẫu: try: next_button.click() except NoSuchElementException: pass Code này nghĩa là chương trình của em sẽ thử click vào nút next_button, nếu click được thì oke nó sẽ bỏ qua phần except, nhưng nếu không click được do lỗi NoSuchElementException thì chương trình sẽ thực hiện dòng lệnh bên dưới, khi đó "pass" có nghĩa là bỏ qua cái nút này và chạy dòng lệnh tiếp theo. Link tham khảo: stackoverflow.com/questions/38022658/selenium-python-handling-no-such-element-exception/38023345
@Giang_as_artist3 жыл бұрын
sau khi em tìm search_field, sau đó dùng send_keys('bla bla') thì báo lỗi element not interactable. Em tìm cách khác là ấn vào biểu tượng search, sau đó sẽ hiện ra phần input để mình nhập cái mình cần tìm. Tới đây nên viết gì để có thể send keys được ạ.
@BoringPPL3 жыл бұрын
Hello em, em coi chừng cái khung cửa sổ browser lúc selenium mở lên nó hẹp quá nên không tìm dc search_field, em thử điều chỉnh lại size của cửa sổ cho rộng ra xem còn bị lỗi này không nhé. Cách sửa: stackoverflow.com/questions/23381324/how-can-i-control-chromedriver-open-window-size
@trongpham99993 жыл бұрын
Mình cần bung hết cỡ cái màn hình Chrome ra, một cách tự động thì chèn thêm 1 câu code này: driver = webdriver.Chrome() # Maximizing window driver.maximize_window()
@kids1141143 жыл бұрын
Bạn ơi, cho mình hỏi công cụ để viết code code của bạn tên gì vây?
@BoringPPL3 жыл бұрын
hello bạn, mình dùng Visual Studio Code, cài thêm 2 extension là Python và Jupyter để sử dụng Jupyter Notebook trên VSC nhé
@kids1141143 жыл бұрын
@@BoringPPL Cám ơn bạn nhé!
@stayhome17563 жыл бұрын
Mình làm theo video hết phần task 1 thì thông báo ở LinkedIn là: "Let's do a quick verification The login attempt seems suspicious. To finish signing in please enter the verification code we sent to your email address."Sau đó có gửi mã xác nhận vô email. ==> Mình hiểu là kiểu mình đăng nhập giống bot quá nên bị nghi ngờ thì phải xử lý như nào ạ. Mình cảm ơn
@BoringPPL3 жыл бұрын
Hello bạn, bạn hiểu đúng rồi đó. Để tránh việc đăng nhập quá nhiều lần trong khung thời gian ngắn, trong quá trình viết code và test code, bạn nên sử dụng các code editor có từng cell một vd như Jupyter Notebook, iPython Notebook, Prompt Shell, Google Colab, etc. để sau khi hoàn thành phần Đăng nhập, bạn có thể thao tác tiếp tục ở các code cell bên dưới thay vì việc chạy cả một file code thì bạn sẽ cứ phải đăng nhập lại mỗi lần chạy. Cụ thể trong video hướng dẫn mình sử dụng Jupyter Notebook trên Visual Studio Code, bạn sẽ thấy mình đăng nhập 1 lần thôi rồi sau đó chuyển sang các task khác bằng cách sử dụng các code cell bên dưới :D
@nguyenvanhuy21452 жыл бұрын
@@BoringPPL Pycharm có tạo được từng cell như này ko bạn?
@gocnhincuocsong76203 жыл бұрын
e dùng sublime text nhưng viết code xong CTR B ko hiện ra đc màn hình web linkedin thì phải làm j để show đc chị nhỉ ?
@BoringPPL3 жыл бұрын
hello em, em thử mở terminal của máy tính ra rồi chạy chương trình trên terminal xem được không
@cynicsserene45692 ай бұрын
Dùng iPad thì sao ạ?
@BoringPPL2 ай бұрын
thì khó em nha 😢
@witchdoctor38973 жыл бұрын
Em chào chị ạ, em viết lại code mà đến dòng: search_field = driver.find_element_by_xpath('//*[@id="ember26"]/input'), máy em báo lỗi ko chạy tiếp dc ạ, chị chỉ giúp em với ạ, em cám ơn nhiều ạ
@witchdoctor38973 жыл бұрын
của em bị lỗi này ạ Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="ember19"]/input"} (Session info: chrome=89.0.4389.114)
@BoringPPL3 жыл бұрын
@@witchdoctor3897 Hellu emm, trong video chị có đề cập một khái niệm là "Dynamic Element" (ở phần locate nút Next) là dạng thành phần mà cứ mỗi lần em reload trang web là nó sẽ lại thay đổi cái ID của nó (vd lần 1 em truy cập ID là "ember26", reload trang thì ID lại thành "ember19"). Hồi lúc chị làm video thì nút Search nó không phải Dynamic Element nên mình tìm bằng xpath với ID được, giờ thì chắc Linkedin đã đổi rồi nên em có thể sửa bằng cách thay vì dùng xpath với ID thì hãy dùng xpath với class nhé, em thay cú pháp như này là chạy được nè: search_field = driver.find_element_by_xpath('//*[@class="search-global-typeahead__input always-show-placeholder"]') Nếu muốn học cách cấu thành xpath theo ý muốn của em, trong video này ở phút 18:40 chị có chia sẻ kỹ hơn về cách cấu thành xpath ( kzbin.info/www/bejne/b2qsooqwfr9rrK8 ). Nếu em biết cách tự viết xpath thì em có thể chấp hết Dynamic Element luôn. Em cũng có thể đọc thêm về cách cấu thành 1 xpath trong documentation phần này: selenium-python.readthedocs.io/locating-elements.html#locating-by-xpath
@witchdoctor38973 жыл бұрын
@@BoringPPL em cám ơn chị nhiều lắm ạ, mà giờ lại phát sinh thêm một lỗi mới ạ, em đã tự tìm hiểu mà ko sửa dc ạ. Mong chị giúp em với ạ Message: no such element: Unable to locate element: {"method":"xpath","selector":"//div[@class='search-global-typeahead__input always-show-placeholder']"} (Session info: chrome=89.0.4389.114)
@BoringPPL3 жыл бұрын
@@witchdoctor3897 Ồ em định vị bị sai rùi í, sai ở chỗ '//div[...]' . Có 2 cách sửa: Cách 1: Nếu em inspect phần khung search sẽ thấy phần code biểu thị cho nút search là có nghĩa là tên tag chứa thành phần này là "input" chứ không phải tag "div" --> Em sửa code thành '//input[@class="search-global-typeahead__input always-show-placeholder"]' là chạy được (thay code của em từ div sang input) Cách 2: Nếu em nhìn lại comment trên sẽ thấy chị dùng dấu * ở chỗ '//*[...]' chứ không nêu cụ thể tên 1 tag nào. Cách làm này thì em đỡ định vị sai vì * nghĩa là máy tính sẽ đi qua hết tất cả nodes trong trang đó và tìm ra tên class mà em yêu cầu. Tuy nhiên cách này không tối ưu trong trường hợp tên class bị trùng và xuất hiện ở nhiều tag khác nhau, lúc này máy tính sẽ lấy giá trị của tag đầu tiên mà nó tìm thấy thì nhiều khi không đúng (vd thành phần em cần tìm ở cuối trang mà có thành phần khác có tên class trùng nằm ở đầu trang thì máy tính sẽ định vị nhầm thành phần ở đầu)
@witchdoctor38973 жыл бұрын
@@BoringPPL em cám ơn ạ, em làm dc rồi ạ.
@nongquan58803 жыл бұрын
Bạn ơi, bạn chạy code tiếp mà không phải đăng nhập lại là kiểu gì vậy?
@BoringPPL3 жыл бұрын
hello bạn, bạn dùng jupyter notebook/prompt shell thay vì python file nhe. chạy xong code cell để login rồi thì xuống cell bên dưới viết tiếp.
@sonnguyenngoc74362 жыл бұрын
Em chào chị, em đang ở cuối task 3, khi chạy code thì đã lấy được thông tin theo từng link, nhưng có link bị lỗi là: 'NoneType' object has no attribute 'find' và code tự dừng lại. Chị cho em hỏi em phải xử lí đoạn này như thế nào ạ?
@BoringPPL2 жыл бұрын
hello em, chị đoán có thể là do trang chưa kịp load xong nên element đó không tìm được, nên máy tính trả về "NoneType", chị nghĩ em có thể thử - cho sleep lâu hơn để trang load hết - hoặc tối ưu hơn là dùng implicit wait của thư viên selenium (em search keyword này nhé) In the meantime thì em có thể cho đoạn code của mình vào try: ... except: để lỡ có không tìm thấy element thì code vẫn chạy tiếp không bị gián đoạn
@LocTran-tv4rb4 жыл бұрын
Dạ chị ơi, mỗi lần em chạy code, chương trình đều chạy tuần tự Login to Facebook, input user, getdata,... nên mỗi lần fix lỗi chương trình chạy rất mất thời gian. Trong khi code chị thì chạy tiếp tục từ bước trước đó. vd đang ở bước login to fb, viết tiếp code input user thì chương trình không cần chạy bước trước đó nữa. Phải làm như nào vậy chị
@BoringPPL4 жыл бұрын
Helluu em, hồi trước lúc mới chạy chị cũng gặp vấn đề như em vậy nên thay vì dùng python source (file.py) chị chuyển qua dùng code editor là Jupyter Notebook (file.ipynb) hoặc Interactive Shell để có thể chạy từng code block nhỏ mà không cần phải chạy lại toàn bộ chương trình. Em có thể tải Jupyter Notebook ở đây jupyter.org/ hoặc nếu em dùng Visual Studio Code giống chị thì có thể cài extension Jupyter Notebook là sẽ ra giao diện y chang video hướng dẫn nhé code.visualstudio.com/docs/python/jupyter-support
@LocTran-tv4rb4 жыл бұрын
@@BoringPPL Yeah cảm ơn chị ạ! Chúc kênh ngày càng phát triển
@diemquyentran77292 жыл бұрын
Dạ cho em xin code github bài này nhen, em cảm ơn ạ
@BoringPPL2 жыл бұрын
hello em, chị có đính link SOURCE CODE trên description, link đây em nhe: github.com/boringPpl/Linkedin-profiles-scraping/
@stevennguyen29443 жыл бұрын
Cho mình hỏi sao cứ ghi csv đến profile thứ 4 là gặp lỗi "UnicodeEncodeError: 'charmap' codec can't encode character '\u1ec5' in position 4: character maps to " đã tìm các cách ghi khác nhưng vẫn dính lỗi tương tự
@BoringPPL3 жыл бұрын
hellu bạn, thiệt sự là mình cũng chưa gặp qua lỗi này bao giờ nhưng mình search thì thấy người ta chỉ là hãy encode cái phần đó của bạn, mình chia sẻ cách làm bạn tự implement thử nhé: Source 1: kzbin.info/www/bejne/iqbQhZluYtyMZ80 Source 2: github.com/llSourcell/twitter_sentiment_challenge/issues/1
@chauvanloifpldn13813 жыл бұрын
nếu em chạy riêng một mình task4 thì có xảy ra lỗi k ạ
@BoringPPL3 жыл бұрын
hello em, em chỉ cần đảm bảo em có đủ những dữ liệu cần cho task 4 là chạy được thôi
@dungbuitoan68793 жыл бұрын
tớ có 1 lỗi là web chạy lên đc 1 lúc thì lại tắt là sao vậy ạ?
@BoringPPL3 жыл бұрын
hello cậu, tớ cũng chưa hình dung lỗi này lắm, terminal của cậu có báo lỗi gì không nhỉ?
@dungbuitoan68793 жыл бұрын
@@BoringPPL à chắc vì mình chỉ dùng visual, nay dùng jupiter chạy ok rồi ạ. Nhưng không biết có phải do tài khoản linkedin không có quyền xem không mà k tìm đc ID của người dùng :)) cám ơn những bài b chia sẻ. cố xem hết rồi làm theo ạ. đang muốn học ngành data này mà k biết bắt đầu từ đâu á :)
@BoringPPL3 жыл бұрын
@@dungbuitoan6879 cũng có thể do bạn không có mutual connection nên họ không cho bạn xem profile á :D bạn cứ search youtube làm data bắt đầu từ đâu mình thấy nhiều anh chị chia sẻ lắm, good luck bạn
@nguoilacquan57074 жыл бұрын
Mình đang dùng IDE nào vậy chị?
@BoringPPL4 жыл бұрын
Mình dùng Jupyter Notebook trên Visual Studio Code bạn nhé
@nguyentanviet193 жыл бұрын
thanks bạn nhiều, mình đã trộm dc dữ liệu từ trang ebay @@
@BoringPPL3 жыл бұрын
uay hehe chúc mừng bạn :D
@ToanNguyen-11063 жыл бұрын
Mình gặp lỗi này: UnicodeEncodeError: 'charmap' codec can't encode character '\u1ec5' in position 4: character maps to . Mình có thử thêm encode('utf-8'): name = info_div.find('h1').get_text().encode('utf-8') thì không còn lỗi. nhưng khi mở file .cvs ra thì tên tiếng việt hiển thị không đẹp.
@BoringPPL3 жыл бұрын
thường thì tiếng Việt nó dễ bị lỗi này do mấy cái dấu trong tiếng Việt á bạn, bạn tham khảo thử bài này nhé nguyenvanhieu.vn/xu-ly-tieng-viet-trong-python/