LinkedIn es un excelente lugar para encontrar clientes potenciales e interactuar con prospectos. Para interactuar con clientes potenciales, necesitará una lista de usuarios para contactar. Sin embargo, obtener esa lista puede ser difícil porque LinkedIn ha dificultado las herramientas de web scraping. Es por eso que hice un script para buscar en Google perfiles de empresas y usuarios potenciales de LinkedIn. Herramientas necesarias Necesitará y algunos paquetes para comenzar. Una vez que haya instalado Python, puede ejecutar el siguiente comando para instalar los paquetes necesarios. Python 2.7+ pip requests install Script Scraper de LinkedIn Primero, necesitamos importar todos los paquetes que necesitamos. Estos paquetes se utilizan para aleatorizar al agente de usuario y realizar las solicitudes. Luego, regex se usa para analizar los perfiles y enlaces de LinkedIn. random argparse requests re import import import import Creamos una clase LinkedinScraper que rastrea y almacena los datos para cada una de las solicitudes. La clase requiere dos parámetros palabra clave y límite. El parámetro de palabra clave especifica el término de búsqueda. El parámetro de límite especifica una cantidad máxima de enlaces para buscar. self.keyword = keyword.replace( , ) self.all_htmls = self.server = self.quantity = self.limit = int(limit) self.counter = : class LinkedinScraper (object) : def __init__ (self, keyword, limit) """ :param keyword: a str of keyword(s) to search for :param limit: number of profiles to scrape """ ' ' '%20' "" 'www.google.com' '100' 0 Creamos una clase LinkedinScraper que rastrea y almacena los datos para cada una de las solicitudes. La clase requiere dos parámetros palabra clave y límite. El parámetro de palabra clave especifica el término de búsqueda. El parámetro de límite especifica una cantidad máxima de enlaces para buscar. La clase LinkedinScraper tiene tres funciones principales, , y . buscar parse_links parse_people La función realizará las solicitudes en función de las palabras clave. Primero genera una URL que es una consulta específica de Google basada en la y el . Luego realiza las solicitudes y guarda todo el HTML en de búsqueda palabra clave límite self.all_htmls user_agents = [ , , , , , ] self.counter < self.limit: headers = { : random.choice(user_agents)} url = + str(self.counter) + + self.keyword resp = requests.get(url, headers=headers) ( ) resp.text: print( ) self.all_htmls += resp.text self.counter += : def search (self) """ perform the search :return: a list of htmls from Google Searches """ # choose a random user agent 'Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1464.0 Safari/537.36' 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0) chromeframe/10.0.648.205' 'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1500.55 Safari/537.36' 'Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1090.0 Safari/536.6' 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.19 (KHTML, like Gecko) Ubuntu/11.10 Chromium/18.0.1025.142 Chrome/18.0.1025.142 Safari/535.19' 'Mozilla/5.0 (Windows NT 5.1; U; de; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6 Opera 11.00' while 'User-Agent' 'http://google.com/search?num=100&start=' '&hl=en&meta=&q=site%3Alinkedin.com/in%20' if "Our systems have detected unusual traffic from your computer network." in "Running into captchas" return 100 La función buscará el HTML y realizará un análisis de expresiones regulares para extraer todos los enlaces de LinkedIn. parse_links reg_links = re.compile( ) self.temp = reg_links.findall(self.all_htmls) results = [] regex self.temp: final_url = regex.replace( , ) results.append( + final_url) results : def parse_links (self) r"url=https:\/\/www\.linkedin.com(.*?)&" for in "url=" "" "https://www.linkedin.com" return De manera similar, la función parse_people buscará en HTML su nombre y título. def parse_people(self): reg_people = re.compile( ) self.temp = reg_people.findall(self.all_htmls) print(self.temp) results = [] iteration (self.temp): = iteration.replace( , ) = .replace( , ) = .replace( , ) = .replace( , ) = .replace( , ) = .replace( , ) = .strip( ) != : results.append( ) return results """ :param html: parse the html for Linkedin Profiles using regex :return: a list of """ r'">[a-zA-Z0-9._ -]* -|\| LinkedIn' for in delete ' | LinkedIn' '' delete delete ' - LinkedIn' '' delete delete ' profiles ' '' delete delete 'LinkedIn' '' delete delete '"' '' delete delete '>' '' delete delete "-" if delete " " delete Este es un ejemplo del uso de la clase para buscar 500 perfiles para la empresa Tesla. Este es un script bastante simple, pero debería ser un buen punto de partida. Faltan algunos errores y manejo de captcha cuando se realizan demasiadas solicitudes a Google. Recomiendo usar una API de búsqueda de Google como para realizar búsquedas ilimitadas. O use API para realizar la búsqueda con cualquier idioma. https://goog.io RapidAPI Google Search Puede encontrar el código completo en https://github.com/googio/linkedin_scraper.git Este código es rápido. Hacer demasiadas solicitudes a Google resultará en el bloqueo de su IP. Utilice proxies cuando ejecute este script. O consulta los documentos de la API de goog.io sobre cómo realizar búsquedas sin preocuparte de que te bloqueen. https://goog.io/docs También publicado aquí