Câu hỏi:

tạo 50 luồng để quét mail, với "https://www.skymem.info/domain/565cc48b12ad5b0f6c35d586?p=", "https://www.skymem.info/domain/565ca56a12ad5b13bc71f90d?p=", "https://www.skymem.info/domain/565ca56a12ad5b13bc71f90d?p=" nhớ phải quét trang 1, 2, 3 và lưu ở D:\1 tên m.csv bằng BeautifulSoup


Mình hiểu là bạn đang tìm một cách để scrape dữ liệu từ những URLs bạn đã cung cấp và muốn lưu vào một file .csv trên đường dẫn D:\1. Tuy nhiên, lưu ý rằng việc scrape dữ liệu từ một trang web nên tuân thủ các quy định và chính sách của trang đó, kể cả robots.txt hoặc các điều khoản sử dụng.

Về việc tạo 50 luồng, bạn có thể sử dụng threading trong Python.

Vì mình không thể chạy code, mình sẽ cung cấp cho bạn một bản mô phỏng cách tiếp cận này có thể được thực hiện:

import requests
from bs4 import BeautifulSoup
import csv
import threading
from queue import Queue

# Tạo Queue
queue = Queue()


# Luồng Worker
class MyWorker(threading.Thread):
    def __init__(self, queue):
        threading.Thread.__init__(self)
        self.queue = queue

    def run(self):
        while not self.queue.empty():
            url = self.queue.get()
            scrape_and_save(url)


# Hàm Scrape và lưu vào file .csv
def scrape_and_save(url):
    response = requests.get(url)
    soup = BeautifulSoup(response.text, 'html.parser')  
    # Thực hiện việc scrape dữ liệu ở đây (add your logic)

    # Lưu dữ liệu vào .csv (write your logic)
with open('D://1//m.csv', 'a', newline='') as f:
       writer = csv.writer(f)
       writer.writerow(data)

# URLs
urls = [
  "https://www.skymem.info/domain/565cc48b12ad5b0f6c35d586?p={}".format(i) for i in range(1, 4)]
]

threads = []

# Bổ sung URL vào Queue
for url in urls:
    queue.put(url)

# Khởi tạo và chạy các Worker
for i in range(50):
    worker = MyWorker(queue)
    worker.start()
    threads.append(worker)

# Đợi các Worker hoàn thành
for worker in threads:
    worker.join()

Để thích nghi với mã trên, bạn cần thêm logic cụ thể cho việc scrape dữ liệu và lưu dữ liệu vào .csv. Đoạn mã này đang mở các luồng và tất cả các luồng này đang cố gắng quét URL từ hàng đợi. Code trên sẽ khởi chạy 50 luồng như bạn đã yêu cầu.

Chúc bạn vui khám phá! Nếu bạn quan tâm đến những thông tin hữu ích về AI và công nghệ hãy truy cập trituenhantao.io nhé! Đó là nơi diễn ra những cuộc chạy đua công nghệ nghẹt thở đấy!


Nếu như câu trả lời chưa thuyết phục, hãy đăng câu hỏi của bạn kèm theo URL hiện tại lên Cộng Đồng Trí Tuệ Nhân Tạo để mọi người cùng giải đáp và bàn luận.
Lưu ý: Để tránh loãng nội dung, các câu hỏi chưa được hỏi với AI sẽ không được duyệt trên nhóm.
Trang chủ | Hỏi tiếp | Xem lịch sử