首页 > 解决方案 > Python- 抓取 LinkedIn 名称

问题描述

我的代码将通过输入登录名和密码信息进入所需的网页。

(您可以在下面的代码中尝试任何拥有 LinkedIn 帐户的用户名和密码)

既然我到达了所需的页面,我只需要知道如何抓取信息。

如果我可以从每个列表的名称开始,那就太好了。

import time

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from webdriver_manager.chrome import ChromeDriverManager
productlinks=[]
test1=[]

options = Options()

driver = webdriver.Chrome(ChromeDriverManager().install())


url = "https://www.linkedin.com/uas/login?session_redirect=https%3A%2F%2Fwww%2Elinkedin%2Ecom%2Fsearch%2Fresults%2Fpeople%2F%3FcurrentCompany%3D%255B%25221252860%2522%255D%26geoUrn%3D%255B%2522103644278%2522%255D%26keywords%3Dsales%26origin%3DFACETED_SEARCH%26page%3D2&fromSignIn=true&trk=cold_join_sign_in"
driver.get(url)
time.sleep(2)

username = driver.find_element_by_id('username')
username.send_keys('Example@gmail.com')
password = driver.find_element_by_id('password')

password.send_keys('ExamplePassword')
password.submit()

标签: pythonhtmlselenium

解决方案


您可以使用它们的Class Name抓取 html 元素,方法是 find_elements_by_class_name

请参见下面的示例:

import time
from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument('--disable-gpu')
options.add_argument('--ignore-certificate-errors-spki-list')
options.add_argument('--ignore-ssl-errors')

driver = webdriver.Chrome(chrome_options=options)

driver.get("https://www.linkedin.com/login")

username = driver.find_element_by_id('username')
username.send_keys('User_example')
password = driver.find_element_by_id('password')
password.send_keys('Password_example')
password.submit()

time.sleep(1)

MyProfileName=driver.find_elements_by_class_name("profile-rail-card__actor-link")
print("MyProfileName is: " + MyProfileName[0].text.strip())

print("\n List of Names: \n");

#Redirect to another link
driver.get("https://www.linkedin.com/onboarding/start/people-you-may-know/new/")

time.sleep(2)

Names = driver.find_elements_by_class_name("onboarding-card__person-title")
for name in Names:
    print(name.text.strip())

推荐阅读