← back to Rentv Sheet Enrich

__pycache__/team_vp.cpython-314.pyc

64 lines

+
>~j����Rt^RIt^RIt^RIt^RIt^RIt^RIt^RIt^RI	H
t
Rt]PPRR4t]P!4tR]n]P$]nRR/t]P*!R	]P,4t]P*!R
4tRtRtR
tRtRt]R8Xd
]!4R#R#)u�
team_vp.py — $0 LOCAL Marketing/VP finder. All local: headless urllib fetch of a company's
own Team/Leadership/About pages + Muse (glimmer, local Ollama) to EXTRACT the marketing
lead from the REAL page text. Anti-fabrication: the extracted name must literally appear
in the fetched text, else dropped. No Browserbase, no Exa, no cloud.

Usage: team_vp.py [limit]   (processes companies that have a Website but no Marketing/VP Name)
N)�ThreadPoolExecutoriW:�VP_MODELzmuse-glimmer:30b-mlxFz
User-Agentz@Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15) AppleWebKit/537.36z�(chief marketing|vp[, ]+marketing|vice president[, ]+marketing|marketing (director|manager|officer)|head of marketing|director[, ]+marketing|marketing & communications|communications director)z<[^>]+>c���\PP\PPV\R7^\
R7P
R4PRR4# \dR#i;i))�headers)�timeout�contexti�zutf-8�ignore�)	�urllib�request�urlopen�Request�UA�ctx�read�decode�	Exception)�us&�8/Users/macstudio3/Projects/rentv-sheet-enrich/team_vp.py�fetchrsf�����&�&�v�~�~�'=�'=�a��'=�'K�TU�^a�&�b�g�g�hn�o�v�v�w~�@H�I�
I����R��s�A'A)�)A8�7A8c�0�RpRFppRFgp\W0,V,4pV'gK%\PV4'gKBVR\P	RV4,,
pKn	Kr	\
P!RRV4R,#)r	� z\s+:NipN)	z/teamz/leadershipz	/our-teamz/aboutz	/about-usz/peoplez/managementz/companyz/who-we-are)zhttps://zhttp://)r�MKT�search�TAG�sub�re)�domain�txt�p�sch�hs&    r�	team_textr"sq��
�C�
v��)�C��C�J�q�L�!�A��q�S�Z�Z��]�]�C��S�W�W�S��^�);�$;�C�U�*�w��6�6�&��S�!�%�(�(�c�^�\P!R\RVRRRR^//4P4p\P
P
\P
PRVRR/R	7^ZR
7p\P!V4PRR4# \dR#i;i)
�model�prompt�streamF�options�temperaturez#http://localhost:11434/api/generatezContent-Typezapplication/json)�datar)r�responser	)�json�dumps�MODEL�encoder
rrr
�load�getr)r&�body�rs&  r�askr4s���	
���W�U�8�F�8�E�)�]�[\�L]�^�	_�	f�	f�	h�D� �
�.�.�
 �
 ����!7�!7�8]�cg�q�AS�qT�!7�"U�^`�
 �a���y�y��|���
�2�.�.����R��s�A(B�B,�+B,c���V'gR#RV2p\V4p\P!RV4pV'gR#\P!VP^44pTPR4;'gRP4pT'd$TP4TP49dR#RTRTPR4;'gRP4/# \dR#i;i)Nu�From this company web-page text, find the ONE person whose title is a marketing role (Chief Marketing Officer / VP Marketing / Marketing Director / Marketing Manager / Head of Marketing / Communications Director). Reply ONLY compact JSON: {"name":"Full Name","title":"Their Title"} — or {} if no marketing person is named. Use ONLY a name that appears verbatim in the text. Do not invent.

TEXT: z
\{[^{}]*\}�namer	�title)
r4rrr,�loads�grouprr1�strip�lower)r�textr�out�m�dr6s&&     r�
extract_vpr@"s�����
U�VZ�TZ�\�A�	�A��C��i�i�
�c�"�A��T��:�:�a�g�g�a�j�!��
�%�%��-�
�
�2�	$�	$�	&�D��4�:�:�<�t�z�z�|�3�D��4�����w��!5�!5�2� <� <� >�?�?���!�T�!�s�%C$�$C3�2C3c��\\P4^8�d!\\P^,4MRp\P
!4p\P!V4R,Uu/uF!q"R,R,VR,R,bK#	up\,p\P!W4qD^,p\V4UUu/uF.wrgVP4'gKVP4VbK0	pppRp	VR,q�R,q�R	,p\4p
.p\^\V44F�pV	!WO,V4pV	!WO,V
4pVP4pV'd%V'dVV
9gV	!WO,V4'dK_V
PV4VPVV34K�	VR
Vp\!\V4R\"R2R
R7\%^R7;_uu_4p\'VP)RV44pR
R
R
4.p^p\+VX4F�wwppp\-VV4pV^,
pV'd`VPRVRVR,RVR,RVR2RRVR2/4\!RVR,R
RVR,RVR,R2R
R7V^,^8XgK�\!RVR\V42R
R7K�	R p\.P0!V\3VR!44\!\V4R"2R
R7V'dh^R
IpVP7R#\8P:P=\8P:P?\@4R$4\C\4V.4R
#R
#uupiuuppi +'giEL�;i)%�i'�sheets�
properties�sheetIdr7c�n�V\V48dW,P4#RP4#)r	)�lenr:)r3�is&&r�g�main.<locals>.g7s*���#�a�&����7�7�9�9�b�7�7�9�9r#�WebsitezMarketing/VP Namez
Company/VenueNz companies to try (model=�)T)�flush)�max_workersc�&�\V^,4#)rB)r")�cds&r�<lambda>�main.<locals>.<lambda>Ds
��Y�r�!�u�%5r#�company�mvpr6u — z (from �whyzMarketing lead named on z, team page (local glimmer extract, verified)z  :N�N�30sz -> z (z  ...�/z/tmp/team_vp.json�wz marketing leads found�python3zwrite_by_name.py)"rG�sys�argv�int�lib�access_token�get_meta�GID�read_tab�	enumerater:�set�ranger;�add�append�printr.r�list�map�zipr@r,�dump�open�
subprocess�run�os�path�join�dirname�__file__�str)�limit�tok�sr7�rows�hdr�j�v�crI�wi�ni�cvi�seen�todor3�comp�dom�k�ex�texts�res�doner<�vpr=rns                           r�mainr�1s���!�#�(�(�m�A�o�#�c�h�h�q�k�
�4�E�����C�HK���UX�HY�Zb�Hc�
d�Hc�1�\�?�9�%�a��o�g�&>�>�Hc�
d�eh�
i�E�	���c�	 �D�!�W��'��n�:�n�s�q����	�{�q�w�w�y��{�n�A�:�9���|�B�-�.�R�o�4F��	��D�R��
�1�S��Y�
��
�t�w�s�^���4�7�2��S�
�*�*�,���3�!�t�)�q����}�}�h������T�[�[�$�s��,�	 �

�f�u��D�	�S��Y�K�0���q�
9��E�	��	+�	+�r��2�6�6�5�t�<�=��
,�
�C��D��t�E�?��
��c�4��c�$����q���
��J�J�	�$�u��6�
�|�5��G��
�W�UX�TY�YZ�-[�� 8���=i�j�l�
m��B�t�C�y��o�T�"�V�*��R��7��}�A�F�T�R���7�A�:�u�u�T�F�!�C��I�;�7�d�C�
+�	�C�T�Y�Y�s�4��C�=�9�	�S��X�J�,�
-�D�9�
��:�>�>�9�R�W�W�\�\�"�'�'�/�/�RZ�B[�\n�5o�ps�tw�px�y|�*}�~���7e��:�
,�	+�	+�s�5'N!�N&�5N&�
N,�,N=	�__main__)�__doc__r^r,rrp�sslr[�urllib.requestr
�concurrent.futuresrra�environr1r.�create_default_contextr�check_hostname�	CERT_NONE�verify_moder�compile�Irrrr"r4r@r��__name__�r#r�<module>r�s����3�2�2�2�1����j�j�n�n�Z� 6�7����� ��U�#�"4�C�M�M�C�O��S�T���J�J�S�TV�TX�TX�Y���J�J�z��� �)� �
@��@�Z����r#