Created
June 19, 2024 13:35
-
-
Save malibayram/2d9f4be5d3491e1c207d9ecb96e7050b to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"from bs4 import BeautifulSoup\n", | |
"\n", | |
"import pandas as pd\n", | |
"\n", | |
"import asyncio\n", | |
"import aiohttp\n", | |
"import time" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"def temizle(metin):\n", | |
" metin = metin.replace(\"\\n\", \" \").replace(\"\\t\", \" \").replace(\"\\r\", \" \")\n", | |
" while \" \" in metin:\n", | |
" metin = metin.replace(\" \", \" \")\n", | |
" return metin.strip()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"tum_sorular = []\n", | |
"async def sayfadaki_sorulari_cek(session, i):\n", | |
" try:\n", | |
" async with session.get('https://www.hukuksorucevap.com.tr/sorucevap/?sayfa=' + str(i)) as response:\n", | |
" response.encoding = 'utf-8'\n", | |
" soup = BeautifulSoup(await response.text(), 'html.parser')\n", | |
" soru = soup.find('div', {'id': 'Soru'})\n", | |
" sorular = soru.find_all('li')\n", | |
" for soru_li in sorular:\n", | |
" soru_dict = {}\n", | |
" soru_metni = soru_li.find('div', {'id': 'Soru'}).text\n", | |
" soru_dict['soru'] = temizle(soru_metni)\n", | |
"\n", | |
" cevap_metni = soru_li.find('div', {'id': 'Cevap'}).find('div', {'class': 'DoktorCevabi'}).text\n", | |
" soru_dict['cevap'] = temizle(cevap_metni)\n", | |
"\n", | |
" cevaplayan_unvan = soru_li.find('div', {'id': 'Cevap'}).find('div', {'class': 'DoktorUnvani'}).text\n", | |
" soru_dict['cevaplayan_unvan'] = temizle(cevaplayan_unvan)\n", | |
"\n", | |
" tum_sorular.append(soru_dict)\n", | |
" except Exception as e:\n", | |
" print(e)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Time taken to get the details of profiles: 0.622565746307373 seconds\n" | |
] | |
} | |
], | |
"source": [ | |
"start_time = time.time()\n", | |
"async with aiohttp.ClientSession() as session:\n", | |
" tasks = []\n", | |
" for i in range(1, 37): \n", | |
" tasks.append(sayfadaki_sorulari_cek(session, i))\n", | |
" await asyncio.gather(*tasks)\n", | |
"end_time = time.time()\n", | |
"\n", | |
"print(f\"Time taken to get the details of profiles: {end_time - start_time} seconds\")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>soru</th>\n", | |
" <th>cevap</th>\n", | |
" <th>cevaplayan_unvan</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>Merhabalar, Bir kamu kurumunda sözleşmeli işçi...</td>\n", | |
" <td>Merhaba, söz konusu sizin durumunuza ilişkin o...</td>\n", | |
" <td>Hukuk Bilgi Platformu</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>Küçük yaşta mahkeme kararı ile evlatlık verild...</td>\n", | |
" <td>Merhaba, evet siz her iki tarafında mirasçısıs...</td>\n", | |
" <td>Hukuk Bilgi Platformu</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>Merhaba, biz evimizi kiraya verdik ve başka bi...</td>\n", | |
" <td>Merhaba, söz konusu sizin durumunza ilişkin ol...</td>\n", | |
" <td>Hukuk Bilgi Platformu</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>Merhaba nişanlım 2021 karar nolu cezasından de...</td>\n", | |
" <td>Merhaba, denetimli serbestlik uygulamasında an...</td>\n", | |
" <td>Hukuk Bilgi Platformu</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>Merhaba 01/09/1999 tarihinde bir dershane ile ...</td>\n", | |
" <td>Merhaba, bu konuya ilişkin olarak hizmet tespi...</td>\n", | |
" <td>Hukuk Bilgi Platformu</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>...</th>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>349</th>\n", | |
" <td>İş görüşmesi amacıyla is evrakları arasında se...</td>\n", | |
" <td>Merhaba, mağduriyetinizi içeren bir dilekçe ha...</td>\n", | |
" <td>Hukuk Bilgi Platformu</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>350</th>\n", | |
" <td>Merhaba abim babamdan beş yıl önce vefat etti ...</td>\n", | |
" <td>Merhaba, mirasın kabulü ile terekedeki aktif v...</td>\n", | |
" <td>Hukuk Bilgi Platformu</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>351</th>\n", | |
" <td>Ev sahibimizin kız kardeşi kardeşi evlenicekmi...</td>\n", | |
" <td>İyi Günler, ihtiyaç sebebiyle tahliye davası a...</td>\n", | |
" <td>Hukuk Bilgi Platformu</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>352</th>\n", | |
" <td>Merhaba, ben 3 yıl önce arkadaşımla bir ev kir...</td>\n", | |
" <td>Merhaba, sizi evden çıkarabilmeleri için sizin...</td>\n", | |
" <td>Hukuk Bilgi Platformu</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>353</th>\n", | |
" <td>Merhabalar, haftanın 5 günü çalışıyoruz, günde...</td>\n", | |
" <td>İyi Günler, Cumartesi günü yıllık izin gününde...</td>\n", | |
" <td>Hukuk Bilgi Platformu</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>354 rows × 3 columns</p>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" soru \\\n", | |
"0 Merhabalar, Bir kamu kurumunda sözleşmeli işçi... \n", | |
"1 Küçük yaşta mahkeme kararı ile evlatlık verild... \n", | |
"2 Merhaba, biz evimizi kiraya verdik ve başka bi... \n", | |
"3 Merhaba nişanlım 2021 karar nolu cezasından de... \n", | |
"4 Merhaba 01/09/1999 tarihinde bir dershane ile ... \n", | |
".. ... \n", | |
"349 İş görüşmesi amacıyla is evrakları arasında se... \n", | |
"350 Merhaba abim babamdan beş yıl önce vefat etti ... \n", | |
"351 Ev sahibimizin kız kardeşi kardeşi evlenicekmi... \n", | |
"352 Merhaba, ben 3 yıl önce arkadaşımla bir ev kir... \n", | |
"353 Merhabalar, haftanın 5 günü çalışıyoruz, günde... \n", | |
"\n", | |
" cevap cevaplayan_unvan \n", | |
"0 Merhaba, söz konusu sizin durumunuza ilişkin o... Hukuk Bilgi Platformu \n", | |
"1 Merhaba, evet siz her iki tarafında mirasçısıs... Hukuk Bilgi Platformu \n", | |
"2 Merhaba, söz konusu sizin durumunza ilişkin ol... Hukuk Bilgi Platformu \n", | |
"3 Merhaba, denetimli serbestlik uygulamasında an... Hukuk Bilgi Platformu \n", | |
"4 Merhaba, bu konuya ilişkin olarak hizmet tespi... Hukuk Bilgi Platformu \n", | |
".. ... ... \n", | |
"349 Merhaba, mağduriyetinizi içeren bir dilekçe ha... Hukuk Bilgi Platformu \n", | |
"350 Merhaba, mirasın kabulü ile terekedeki aktif v... Hukuk Bilgi Platformu \n", | |
"351 İyi Günler, ihtiyaç sebebiyle tahliye davası a... Hukuk Bilgi Platformu \n", | |
"352 Merhaba, sizi evden çıkarabilmeleri için sizin... Hukuk Bilgi Platformu \n", | |
"353 İyi Günler, Cumartesi günü yıllık izin gününde... Hukuk Bilgi Platformu \n", | |
"\n", | |
"[354 rows x 3 columns]" | |
] | |
}, | |
"execution_count": 5, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# convert tum_sorular to a DataFrame\n", | |
"df = pd.DataFrame(tum_sorular)\n", | |
"df" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"df.to_csv('hukuksorucevap.csv', index=False, encoding='utf-8')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>soru</th>\n", | |
" <th>cevap</th>\n", | |
" <th>cevaplayan_unvan</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>Merhabalar, Bir kamu kurumunda sözleşmeli işçi...</td>\n", | |
" <td>Merhaba, söz konusu sizin durumunuza ilişkin o...</td>\n", | |
" <td>Hukuk Bilgi Platformu</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>Küçük yaşta mahkeme kararı ile evlatlık verild...</td>\n", | |
" <td>Merhaba, evet siz her iki tarafında mirasçısıs...</td>\n", | |
" <td>Hukuk Bilgi Platformu</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>Merhaba, biz evimizi kiraya verdik ve başka bi...</td>\n", | |
" <td>Merhaba, söz konusu sizin durumunza ilişkin ol...</td>\n", | |
" <td>Hukuk Bilgi Platformu</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>Merhaba nişanlım 2021 karar nolu cezasından de...</td>\n", | |
" <td>Merhaba, denetimli serbestlik uygulamasında an...</td>\n", | |
" <td>Hukuk Bilgi Platformu</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>Merhaba 01/09/1999 tarihinde bir dershane ile ...</td>\n", | |
" <td>Merhaba, bu konuya ilişkin olarak hizmet tespi...</td>\n", | |
" <td>Hukuk Bilgi Platformu</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>...</th>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>349</th>\n", | |
" <td>İş görüşmesi amacıyla is evrakları arasında se...</td>\n", | |
" <td>Merhaba, mağduriyetinizi içeren bir dilekçe ha...</td>\n", | |
" <td>Hukuk Bilgi Platformu</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>350</th>\n", | |
" <td>Merhaba abim babamdan beş yıl önce vefat etti ...</td>\n", | |
" <td>Merhaba, mirasın kabulü ile terekedeki aktif v...</td>\n", | |
" <td>Hukuk Bilgi Platformu</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>351</th>\n", | |
" <td>Ev sahibimizin kız kardeşi kardeşi evlenicekmi...</td>\n", | |
" <td>İyi Günler, ihtiyaç sebebiyle tahliye davası a...</td>\n", | |
" <td>Hukuk Bilgi Platformu</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>352</th>\n", | |
" <td>Merhaba, ben 3 yıl önce arkadaşımla bir ev kir...</td>\n", | |
" <td>Merhaba, sizi evden çıkarabilmeleri için sizin...</td>\n", | |
" <td>Hukuk Bilgi Platformu</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>353</th>\n", | |
" <td>Merhabalar, haftanın 5 günü çalışıyoruz, günde...</td>\n", | |
" <td>İyi Günler, Cumartesi günü yıllık izin gününde...</td>\n", | |
" <td>Hukuk Bilgi Platformu</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>354 rows × 3 columns</p>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" soru \\\n", | |
"0 Merhabalar, Bir kamu kurumunda sözleşmeli işçi... \n", | |
"1 Küçük yaşta mahkeme kararı ile evlatlık verild... \n", | |
"2 Merhaba, biz evimizi kiraya verdik ve başka bi... \n", | |
"3 Merhaba nişanlım 2021 karar nolu cezasından de... \n", | |
"4 Merhaba 01/09/1999 tarihinde bir dershane ile ... \n", | |
".. ... \n", | |
"349 İş görüşmesi amacıyla is evrakları arasında se... \n", | |
"350 Merhaba abim babamdan beş yıl önce vefat etti ... \n", | |
"351 Ev sahibimizin kız kardeşi kardeşi evlenicekmi... \n", | |
"352 Merhaba, ben 3 yıl önce arkadaşımla bir ev kir... \n", | |
"353 Merhabalar, haftanın 5 günü çalışıyoruz, günde... \n", | |
"\n", | |
" cevap cevaplayan_unvan \n", | |
"0 Merhaba, söz konusu sizin durumunuza ilişkin o... Hukuk Bilgi Platformu \n", | |
"1 Merhaba, evet siz her iki tarafında mirasçısıs... Hukuk Bilgi Platformu \n", | |
"2 Merhaba, söz konusu sizin durumunza ilişkin ol... Hukuk Bilgi Platformu \n", | |
"3 Merhaba, denetimli serbestlik uygulamasında an... Hukuk Bilgi Platformu \n", | |
"4 Merhaba, bu konuya ilişkin olarak hizmet tespi... Hukuk Bilgi Platformu \n", | |
".. ... ... \n", | |
"349 Merhaba, mağduriyetinizi içeren bir dilekçe ha... Hukuk Bilgi Platformu \n", | |
"350 Merhaba, mirasın kabulü ile terekedeki aktif v... Hukuk Bilgi Platformu \n", | |
"351 İyi Günler, ihtiyaç sebebiyle tahliye davası a... Hukuk Bilgi Platformu \n", | |
"352 Merhaba, sizi evden çıkarabilmeleri için sizin... Hukuk Bilgi Platformu \n", | |
"353 İyi Günler, Cumartesi günü yıllık izin gününde... Hukuk Bilgi Platformu \n", | |
"\n", | |
"[354 rows x 3 columns]" | |
] | |
}, | |
"execution_count": 8, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df_csv = pd.read_csv('hukuksorucevap.csv')\n", | |
"df_csv" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"# https://www.hukuksorucevap.com.tr/sorucevap/?sayfa=1 adresindeki soru ve cevapları çekeceğiz. Toplamda 36 sayfa var.\n", | |
"\n" | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 3", | |
"language": "python", | |
"name": "python3" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 3 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython3", | |
"version": "3.9.6" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment