抓连接LinkedIn

时间:2016-12-27 19:40:50

标签: javascript python selenium web-scraping

我正在试图从LinkedIn获取数据。我想刮掉我的联系。我已经用Python,BeautifulSoup和Selenium编写代码来获取我的连接并进入连接的配置文件页面。然后它可以刮掉我连接的前10个连接但我无法用下一个按钮做任何事情。

我使用Selenium和Python代码选择按钮:

inputElement = driver.find_element_by_css_selector("button.next.carousel-control-disabled")
inputElement.click()

如果我在物理上(使用浏览器和鼠标按钮)单击此元素,则会加载下一个10个连接但是当我使用该脚本时,它会显示以下错误消息。

  

元素在点(616,15)处不可点击。其他元素会   收到点击:

我已经尝试过检查元素了,我得到了:

<button class="next carousel-control-disabled">Next</button>

我认为这意味着有等待点击元素的JavaScript。那有意义吗?如果是这样,我怎样才能找到该函数的名称,然后运行该JavaScript?

2 个答案:

答案 0 :(得分:0)

我将inputElement.click()更改为inputElement.send_keys(Keys.RETURN)并且它正在运行。

如果有人愿意解释我感兴趣的两者之间的区别。

答案 1 :(得分:0)

**

使用Selenium和Python刮掉linkedln:

**

#Scrolling a full-page
def scroll_till_end():
    try:
        html = driver.find_element_by_tag_name('html')
        html.send_keys(Keys.END)
    except Exception as e:
        print(str(e))

#moving to next page
def next_page():
    next_button=driver.find_element_by_xpath('//button[@aria-label="Next"]')
    driver.execute_script("arguments[0].click();", next_button)
    time.sleep(4)

对我有用。使用selenium导航到连接列表,然后运行以下命令:

 pages_to_scrape=input('Enter the number of pages to scrape:')
 for i in range(pages_to_scrape):
    scroll_till_end()
    get_profile_of_a_page() # profile scrapping function!
    scroll_till_end()
    next_page()
    time.sleep(4)