def f_netmeds(medicine):
    pass
    URL = "https://www.netmeds.com/"
    driver = getDriver()
    driver.get(URL)
    delay = 4

    data = [{'link': '#', 'name': '', 'price': ''}] * 5
    # return data
    try:
        driver.find_element_by_id('search').send_keys(' '.join(medicine))
        driver.find_element_by_id('search').send_keys(Keys.ENTER)

        try:
            WebDriverWait(driver, delay).until(
                EC.presence_of_element_located((By.CLASS_NAME, 'sear-name')))

            boxes = driver.find_elements_by_class_name('drug_list')

            for i, box in enumerate(boxes):
                data_obj = {'link': '#', 'name': '', 'price': ''}
                obj = box.find_element_by_class_name(
                    'drug_c').find_element_by_tag_name('a')
                data_obj['link'] = obj.get_attribute('href')
                data_obj['name'] = obj.find_element_by_class_name('info').text
                data_obj['price'] = box.find_element_by_class_name(
                    'final-price').text
                data[i] = data_obj
        except:
            pass
    except:
        pass

    print(data)
    return data
示例#2
0
def f_apollo(medicine):
    URL = "https://www.apollopharmacy.in/"
    driver = getDriver()
    driver.get(URL)
    delay = 4

    data = [{'link': '#', 'name': '', 'price': ''}] * 5

    try:
        driver.find_element_by_id('search').send_keys(' '.join(medicine))
        driver.find_element_by_id('search').send_keys(Keys.ENTER)

        try:
            WebDriverWait(driver, delay).until(
                EC.presence_of_element_located(
                    (By.CLASS_NAME, 'header-results-and-footer')))

            boxes = driver.find_elements_by_class_name('product-link')

            for i, box in enumerate(boxes):
                data_obj = {'link': '#', 'name': '', 'price': ''}
                data_obj['link'] = box.get_attribute('href')
                data_obj['name'] = box.find_element_by_class_name(
                    'product-name').text
                data_obj['price'] = box.find_element_by_class_name(
                    'product-sale-price').text
                data[i] = data_obj
        except:
            pass
    except:
        pass

    return data
示例#3
0
def f_netmeds(medicine):
	driver = getDriver()
	URL = "https://www.netmeds.com/catalogsearch/result?q=" + medicine
	driver.get(URL)
	try:
		pdt = driver.find_element_by_class_name("drug_list")
		a = pdt.text.split('\n')[:5]
		return a[0] +' '+ a[2]
	except NoSuchElementException:
		return medicine + ' not found'
示例#4
0
def f_apollo(medicine):
	driver = getDriver()
	driver.get("https://www.apollopharmacy.in/tsearch?q="+medicine)
	try:
		unavailable = driver.find_element_by_class_name("no-products")
		return medicine + ' not found'
	except NoSuchElementException :
		pdt = driver.find_element_by_class_name("tagalys-product-tile")
		a = pdt.text.split('\n')
		return (a[0] + ' '+ a[1]).capitalize()
def get_img_src(medicine):
    driver = getDriver()
    driver.get('https://images.google.com')
    driver.find_element_by_xpath('//*[@id="sbtc"]/div/div[2]/input').send_keys(
        medicine)
    driver.find_element_by_xpath('//*[@id="sbtc"]/div/div[2]/input').send_keys(
        Keys.ENTER)
    src = driver.find_element_by_xpath(
        '//*[@id="islrg"]/div[1]/div[1]/a[1]/div[1]/img').get_attribute('src')
    return src
def f_pharmeasy(medicine):
	data = [
		{
			'link': '#',
			'name': '',
			'price': ''
		}
	] * 5
	URL = "https://pharmeasy.in/search/all?name=" + '+'.join(medicine)
	driver = getDriver()
	driver.get(URL)
	delay = 4
	# return data
	# try:
		# # driver.find_element_by_xpath('//*[@id="content"]/div/div[2]/div[2]/div/div/div[1]/div[1]/div[2]/div[1]/div/div[2]/input')
		# driver.find_element_by_class_name('jss34 _9Rsw_ undefined _2Saml')		
		# driver.send_keys(' '.join(medicine))
		# driver.send_keys(Keys.ENTER)
		# driver.
	print('searched\n')
	# //*[@id="content"]/div/div[3]/div/div/div[1]/div[1]/div/div[1]/div/div
	# //*[@id="content"]/div/div[3]/div/div/div[1]/div[1]/div/div[2]
	print(driver.current_url)
	try:
		WebDriverWait(driver, delay).until(EC.presence_of_element_located(
			(By.CLASS_NAME, '_3zq4I')
		))
		print('found\n')
		boxes = driver.find_elements_by_class_name('_1jald')
		if len(boxes) > 0 :
			for i, box in enumerate(boxes):
				data_obj = {
					'link': '#',
					'name': '',
					'price': ''
				}
				data_obj['link'] = box.find_element_by_class_name('_3o0NT._1NxW8').get_attribute('href')
				data_obj['name'] = box.find_element_by_class_name('ooufh').text 
				# +'\n'+ box.find_element_by_class_name('_36aef').text
				try :
					data_obj['price'] = box.find_element_by_class_name('_1_yM9').text[:-1]
				except : 
					data_obj['price'] = box.find_element_by_class_name('nFRb7').text 
		
				data[i] = data_obj
				print(i)
		else :
			pass
	except:
		pass
	# except:
	# 	pass
	return data
def f_1mg(medicine):
    data = [{'link': '#', 'name': '', 'price': ''}] * 5
    URL = "https://www.1mg.com/search/all?name=" + '%20'.join(medicine)
    driver = getDriver()
    driver.get(URL)
    delay = 4
    # return data
    try:
        # # driver.find_element_by_xpath('//*[@id="content"]/div/div[2]/div[2]/div/div/div[1]/div[1]/div[2]/div[1]/div/div[2]/input')
        # driver.find_element_by_class_name('jss34 _9Rsw_ undefined _2Saml')
        # driver.send_keys(' '.join(medicine))
        # driver.send_keys(Keys.ENTER)
        # driver.
        print('searched\n')
        # //*[@id="content"]/div/div[3]/div/div/div[1]/div[1]/div/div[1]/div/div
        # //*[@id="content"]/div/div[3]/div/div/div[1]/div[1]/div/div[2]
        print(driver.current_url)
        try:
            WebDriverWait(driver, delay).until(
                EC.presence_of_element_located(
                    (By.CLASS_NAME, 'row.style__grid-container___3OfcL')))
            # try :
            # driver.find_element_by_class_name('style__horizontal-card___1Zwmt')
            # print('found1\n')
            boxes = driver.find_elements_by_class_name(
                'style__horizontal-card___1Zwmt')
            if len(boxes) > 0:
                for i, box in enumerate(boxes):
                    data_obj = {'link': '#', 'name': '', 'price': ''}
                    data_obj['link'] = box.find_element_by_tag_name(
                        'a').get_attribute('href')
                    # data_obj['name'] = box.find_element_by_class_name('style__pro-title___3zxNC').text
                    data_obj['name'] = box.find_element_by_class_name(
                        'style__product-description___1vPQe').text
                    #
                    # +'\n'+ box.find_element_by_class_name('_36aef').text
                    # try :
                    data_obj['price'] = box.find_element_by_class_name(
                        'style__price-tag___B2csA').text
                    # except :
                    # 	data_obj['price'] = box.find_element_by_class_name('nFRb7').text
                    if data_obj['price'][0:3] == 'MRP':
                        data_obj['price'] = data_obj['price'][3:]
                    data[i] = data_obj
                    data[i] = data_obj
                    print(i)
            # except:
            else:
                # try:
                boxes = driver.find_elements_by_class_name(
                    'style__product-box___3oEU6')
                if len(boxes) > 0:
                    for i, box in enumerate(boxes):
                        data_obj = {'link': '#', 'name': '', 'price': ''}
                        data_obj['link'] = box.find_element_by_tag_name(
                            'a').get_attribute('href')
                        # data_obj['name'] = box.find_element_by_class_name('style__pro-title___3zxNC').text
                        data_obj['name'] = box.find_element_by_class_name(
                            'style__product-description___zY35s').text
                        #
                        # +'\n'+ box.find_element_by_class_name('_36aef').text
                        # try :
                        data_obj['price'] = box.find_element_by_class_name(
                            'style__price-tag___KzOkY').text
                        # except :
                        # 	data_obj['price'] = box.find_element_by_class_name('nFRb7').text
                        if data_obj['price'][0:3] == 'MRP':
                            data_obj['price'] = data_obj['price'][3:]
                        data[i] = data_obj
                        print(i)
                # except:
                else:
                    pass
        except:
            pass
    except:
        pass
    # if(data[])
    return data
from flaskRun import getDriver, quitDriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.common.exceptions import TimeoutException, NoSuchElementException
from selenium.webdriver.common.keys import Keys


def get_img_src(medicine):
<<<<<<< HEAD
	driver = getDriver()
	driver.get('https://images.google.com');
	driver.find_element_by_xpath('//*[@id="sbtc"]/div/div[2]/input').send_keys(' '.join(medicine))
	print(' '.join(medicine))
||||||| merged common ancestors
	driver= getDriver()
	driver.get('https://images.google.com');
	driver.find_element_by_xpath('//*[@id="sbtc"]/div/div[2]/input').send_keys(' '.join(medicine))
	print(' '.join(medicine))
=======
	driver= getDriver()
	driver.get('https://images.google.com')
	driver.find_element_by_xpath('//*[@id="sbtc"]/div/div[2]/input').send_keys(medicine)
>>>>>>> 6437bad05642e369b922632138056f88198e391f
	driver.find_element_by_xpath('//*[@id="sbtc"]/div/div[2]/input').send_keys(Keys.ENTER)
	src = driver.find_element_by_xpath('//*[@id="islrg"]/div[1]/div[1]/a[1]/div[1]/img').get_attribute('src')
	return src


def f_1mg(medicine):
	data = [
示例#9
0
def compileData(medicine):
    global apollo, pharmeasy, netmeds, onemg, src
    global driver_src, driver_netmeds, driver_pharmeasy, driver_onemg, driver_apollo

    driver_src = getDriver()
    driver_netmeds = getDriver()
    driver_pharmeasy = getDriver()
    driver_onemg = getDriver()
    driver_apollo = getDriver()

    # print("Start time: ")
    # print(datetime.datetime.now().time())
    start_time = datetime.now()

    # thread_apollo = Thread(target = f_apollo,args = (medicine,))
    # thread_pharmeasy = Thread(target = f_pharmeasy,args = (medicine,))
    # thread_netmeds = Thread(target = f_netmeds,args = (medicine,))
    # thread_onemg = Thread(target = f_1mg,args = (medicine,))
    # thread_src = Thread(target = get_img_src, args = (' '.join(medicine),))

    # thread_apollo = Process(target = f_apollo,args = (medicine,))
    # thread_pharmeasy = Process(target = f_pharmeasy,args = (medicine,))
    # thread_netmeds = Process(target = f_netmeds,args = (medicine,))
    # thread_onemg = Process(target = f_1mg,args = (medicine,))
    # thread_src = Process(target = get_img_src, args = (' '.join(medicine),))

    pool = Pool(4)
    thread_onemg = pool.apply_async(f_1mg, (medicine, ))
    thread_apollo = pool.apply_async(f_apollo, (medicine, ))
    thread_pharmeasy = pool.apply_async(f_pharmeasy, (medicine, ))
    thread_netmeds = pool.apply_async(f_netmeds, (medicine, ))
    # thread_src = pool.apply_async(get_img_src, (medicine, ))

    pool.close()
    pool.join()

    apollo = thread_apollo.get(10)
    pharmeasy = thread_pharmeasy.get(10)
    onemg = thread_onemg.get(10)
    netmeds = thread_netmeds.get(10)

    src = get_img_src(medicine)
    # src = thread_src.get(10)

    # thread_apollo.start()
    # thread_pharmeasy.start()
    # thread_netmeds.start()
    # thread_onemg.start()
    # thread_src.start()

    # thread_apollo.join()
    # thread_pharmeasy.join()
    # thread_netmeds.join()
    # thread_onemg.join()
    # thread_src.join()

    # f_apollo(medicine)
    # f_pharmeasy(medicine)
    # f_netmeds(medicine)
    # f_1mg(medicine)
    # print("End time: ")
    # print(datetime.datetime.now().time())
    end_time = datetime.now()
    print('time taken: ', end=" ")
    print(end_time - start_time)

    data = [0] * 5
    for i in range(5):
        data[i] = {
            'apollo': apollo[i],
            'pharmeasy': pharmeasy[i],
            'netmeds': netmeds[i],
            'onemg': onemg[i]
        }
    return data, src