سلام دوستان گرامی ما برای پروژه تبلیغاتی خودمون لیست 299 میلیون وب سایت رو خریداری کردیم قصد داریم سایت های که با وردپرس ساخته شدن رو جدا کنیم یه برنامه براش با پایتون نوشتیم چون احساس کردیم بهترین گزینه هست اما وقتی شروع میکنه اسکن رم سیستم رو به شدت اشغال میکنه و بعد از چند دقیقه از برنامه خارج میشه حتی با سرور اختصاصی رم 32 گیگ هم تست کردیم متاسفانه جواب نداد دوستانی که توی این مورد تجربه دارن ممنون میشم راهنمایی کنن سپاس
#!/usr/bin/python
# coding=utf-8
import requests
import re
import sys
import codecs
from multiprocessing import Pool
from time import time as timer
from BeautifulSoup import BeautifulSoup
try:
with codecs.open(sys.argv[1], mode='r', encoding='ascii', errors='ignore') as f:
ooo = f.read().splitlines()
except IOError:
pass
ooo = list((ooo))
def get_url(url):
try:
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/7046A194A'}
wcheck = requests.get(
'http://' + url + '/wp-content/plugins/akismet/_inc/akismet.js', headers=headers, timeout=5)
if wcheck.status_code == 200 and "$('.akismet-status').each(function ()" in wcheck.content:
print(url + " ===> [+] Success ! ")
dom = url + ''
open('wp_' + sys.argv[1], 'a').write(dom+'\n')
else:
print(url + " ===> [-] Not vuln !")
except:
pass
def goo():
try:
start = timer()
pp = Pool(45)
pr = pp.map(get_url, ooo)
print('Time: ' + str(timer() - start) + ' seconds')
except:
pass
if __name__ == '__main__':
goo()
سلام این موضوع مشخصه دلیلش چیه
دلیلش اینکه شما تمام اطلاعات رو دارید اول لود میکنید خوب پس مشخصا ۲۲۹ میلیون نمیتونه داخل ram قرار بگیره.
شما باید از حالت Lazy استفاده کنید
@sajjad1372
سلام خدمت شما
آقای موسوی درست میگن میتونید از حالت lazy استفاده کنید اما به اینکه دقت کنید که این کار روی سئو سایت شما تاثیر منفی میزاره
اگر بخواین چندین درخواست به سمت سرور بفرستید ممکنه به سئو لطمه وارد کنه و این اصلاً برای سایت خوب نیست!
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟