Tôi có mã sử dụng thư viện BeautifulSoup
để phân tích cú pháp, nhưng nó rất chậm. Mã được viết theo cách mà các luồng không thể được sử dụng. Có ai có thể giúp tôi với điều này không?Tối ưu hóa mã BeautifulSoup (Python)
Tôi đang sử dụng BeautifulSoup
để phân tích cú pháp và lưu vào DB. Nếu tôi nhận xét ra tuyên bố save
, nó vẫn mất một thời gian dài, do đó, không có vấn đề với cơ sở dữ liệu.
def parse(self,text):
soup = BeautifulSoup(text)
arr = soup.findAll('tbody')
for i in range(0,len(arr)-1):
data=Data()
soup2 = BeautifulSoup(str(arr[i]))
arr2 = soup2.findAll('td')
c=0
for j in arr2:
if str(j).find("<a href=") > 0:
data.sourceURL = self.getAttributeValue(str(j),'<a href="')
else:
if c == 2:
data.Hits=j.renderContents()
#and few others...
c = c+1
data.save()
Mọi đề xuất?
Lưu ý: Tôi đã đặt câu hỏi này here nhưng đã bị đóng do thông tin không đầy đủ.