CoolFace
Apppublic

Sahil1694/Atlan

sourceHugging Faceupdated 1y agoView on Hugging Face
0likes
build_knowledge_base.cpython-311.pyc46 linesDownload Raw Back to __pycache__
1�

2�׿h��3��ddlZddlZddlZddlZddlmZddlmZmZddgZ	dZ4ddiZd	ed5e
fd�Zded6edzfd
�Zedk�r�ed��e
��Ze	D]"Zee��Ze�e���#edee������gZee��Zeee��d��D]_\ZZede�de�de�d���ee��Zer(edr e�e��ed��ej d���`edee������	ej!ej"�#e7��d���e$e8dd���5Z%ej&ee%dd� ��ddd��n#1swxYwYed!e9�d"���dS#e'$rZ(ed#e(����YdZ([(dSdZ([(wwxYwdS)$�N)�
BeautifulSoup)�urljoin�urlparsezhttps://docs.atlan.com/zhttps://developer.atlan.com/zdata/knowledge_base.jsonz10User-AgentzAtlanSupportCopilotBot/1.0�base_url�returnc��td|�d���t��}	tj|t���}|���t
|jd��}t|��j	}|�11dd���D]`}|d}t||��}t|��j	|kr.|�|�
d	��d12���an1#tj$r}td|�d|����Yd
}~nd
}~wwxYwtdt|���d���|S)zF13    Crawls a starting URL to find all unique, same-domain links.14    z!Crawling to discover links from: z...��headers�html.parser�aT)�hrefr
�#ru🚨 Error crawling �: Nu15✅ Found z unique links.)�print�set�requests�get�HEADERS�raise_for_statusr�contentr�netloc�find_allr�add�split�RequestException�len)	r�found_links�response�soup�base_domain�a_tagr
�full_url�es	         �UC:\Users\Sahil\OneDrive\Desktop\Atlan Project\backend\scripts\build_knowledge_base.py�
get_all_linksr%sh��16�17;�h�18;�19;�20;�<�<�<��%�%�K�6��<��'�:�:�:���!�!�#�#�#��X�-�}�=�=���x�(�(�/���]�]�3�T�]�2�2�	8�	8�E���=�D��x��.�.�H���!�!�(�K�7�7�������s� 3� 3�A� 6�7�7�7��	8���$�6�6�6�
�4�X�4�4��4�4�5�5�5�5�5�5�5�5�����6����21�227�s�;�'�'�237�247�257�8�8�8��s�CC4�4D"�D�D"�urlc��	tj|t���}|���t	|jd��}|�d��p|�d��}|r|�dd���}||d�Std	|�d26���dS#tj	$r }td|�d
|����Yd}~dSd}~wwxYw)z�27    Scrapes the main textual content from a single URL.28    Returns a dictionary with the URL and its content, or None on failure.29    r	r�main�article� T)�	separator�strip)r&ru!⚠️ No main content found for z, skipping.Nu🚨 Error scraping r)30rrrrrr�find�get_textrr)r&rr�main_content�textr#s      r$�scrape_page_contentr17s��31��<��W�5�5�5���!�!�#�#�#��X�-�}�=�=��32�y�y��(�(�@�D�I�I�i�,@�,@���		� �(�(�3�d�(�C�C�D��4�0�0�0�
�F�c�F�F�F�G�G�G��4���$����
�/�S�/�/�A�/�/�0�0�0��t�t�t�t�t��������s�BB#�B#�#C�2C
�
C�__main__u-🚀 Starting Knowledge Base Build Process...z033Total unique links to scrape across all sites: �z34--- Scraping URL �/rz ---ru#✅ Content extracted successfully.u235✨ Scraping complete. Total pages with content: T)�exist_ok�wzutf-8)�encoding�F)�indent�ensure_asciiu&✅ Knowledge base raw data saved to '�'u 🚨 Error saving data to file: ))�os�json�timer�bs4r�urllib.parserr�36START_URLS�	SAVE_PATHr�strrr%�dictr1�__name__r�all_site_linksr&�links�updater�scraped_data�total_links�	enumerate�list�i�link�content_dict�append�sleep�makedirs�path�dirname�open�f�dump�	Exceptionr#��r$�<module>r[se��	�	�	�	�������������������*�*�*�*�*�*�*�*��"��37�
'�	��.����C��C�����:�S��T�D�[�����B�z���	�E�389�:�:�:��S�U�U�N��%�%���
�c�"�"�����e�$�$�$�$�	�E�39S�c�c�.�>Q�>Q�40S�41S�T�T�T��L��#�n�%�%�K��9�T�T�.�1�1�1�5�5�	�	���4�
��A�A�A�A��A�A�t�A�A�A�B�B�B�*�*�4�0�0���	9�L��3�	9�����-�-�-��E�7�8�8�8�	��42�1�
�
�
�
�43�E�44S���L�@Q�@Q�45S�46S�T�T�T�	6����B�G�O�O�I�.�.��>�>�>�>�
�T�)�S�7�
3�
3�
3�	E�q��D�I�l�A�a�e�D�D�D�D�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E����	E�	E�	E�	E�	��C�y�C�C�C�D�D�D�D�D���6�6�6�
��4��4�4�5�5�5�5�5�5�5�5�5�����6����M�s<�.8F#�&F�;F#�F�F#�F�F#�#G�(F<�<G