本文转载:通通学--知识学习与分享平台
转载链接:http://www.tongtongxue.com/archives/180.html
写过爬虫程序的码农都知道,实现爬虫程序登录的方法有多种,我这利用Selenium来实现登录。提供源代码下载
本案例实现登录的网站是iteye,同时登录时选择第三方登录工具,本处利用的新浪微博来登录。
以下是关键代码:
程序启动类:WebSpider.java
package com.tongtongxue.webspider; import com.tongtongxue.webspider.fetcher.Fetcher; public class WebSpider { public static void main(String[] args) throws Exception { Fetcher fetcher = new Fetcher(); fetcher.fetch(); } }
抓取类:Fetcher.java
package com.tongtongxue.webspider.fetcher; import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import com.thoughtworks.selenium.Selenium; import com.thoughtworks.selenium.webdriven.WebDriverBackedSelenium; public class Fetcher { private WebDriver webDriver; private Selenium selenium; // 第三方的登录工具的用户名,我这里用的是新浪微博 private String username = "xxxxxx"; // 第三方的登录工具的密码,我这里用的是新浪微博 private String password = "xxxxxx"; public Fetcher() throws Exception { // 设置google浏览器的驱动位置 System.setProperty("webdriver.chrome.driver" , "E:/it_jar_file/chromedriver_win32/chromedriver.exe"); webDriver = new ChromeDriver(); webDriver.manage().timeouts().pageLoadTimeout(12000, TimeUnit.SECONDS); selenium = new WebDriverBackedSelenium(webDriver, "http://www.iteye.com"); selenium.setTimeout("120000"); } public void fetch() throws Exception { // 这是入口网址 webDriver.get("http://www.iteye.com/login"); waitForPageToLoad(); // 选择第三方登录工具 selenium.click("css=div.third a[href='/auth/weibo']"); waitForPageToLoad(); // 输入用户名 webDriver.findElement(By.id("userId")).sendKeys(username); // 输入密码 webDriver.findElement(By.id("passwd")).sendKeys(password); Thread.sleep(2000); // 点击登录按钮 selenium.click("css=p.oauth_formbtn a[node-type='submit']"); } private void waitForPageToLoad() { selenium.waitForPageToLoad("120000"); } }
其中源代码下载:源代码
其中Google浏览器驱动软件:chromedriver
相关推荐
通过这个压缩包中的示例,你将能够了解到如何结合Python和Selenium实现模拟登录和自动点击,从而抓取需要的数据。记得在实际操作时,遵守网站的robots.txt协议,尊重数据抓取的道德规范,避免对网站造成过大负担。...
在这个项目中,我们专注于使用Selenium实现中英互译功能,这对于处理网页上的多语言内容非常有用。 首先,该项目提供了两种版本的翻译器:一个可执行的exe文件和一个Python源代码文件(translater.exe和translater....
淘宝商品爬虫与Selenium破解滑块验证是网络爬虫技术在电商领域的应用,涉及到的主要知识点包括Python编程、网络爬虫原理、Selenium库的使用以及动态验证码的破解策略。以下将详细介绍这些内容。 首先,Python编程是...
Selenium在爬虫中的应用主要是应对那些依赖用户交互才能显示完整内容的网站,如动态加载的数据、弹窗登录、验证码识别等。学习如何使用Selenium,可以极大地提高爬虫的实用性。 文件名“案例与selenium”暗示了这个...
在Java编程环境中,我们经常会用到WebController和Selenium这两个库来实现高效且灵活的网络爬虫。 WebController是一个轻量级的HTTP客户端库,它可以方便地进行HTTP请求,包括GET、POST等方法,支持设置请求头、...
在IT领域,网络爬虫是数据获取的重要工具,特别是对于那些使用JavaScript动态加载内容的网站。本项目聚焦于使用Python3构建动态网站爬虫,主要依赖于selenium库和PhantomJS浏览器模拟器,以爬取像今日头条这样的动态...
综上所述,本文介绍了基于Selenium技术的Python网络爬虫的实现方式,涵盖了网络爬虫的设计目的、工作流程、技术架构以及实际编程中的应用技巧。这些知识点不仅适用于有经验的开发人员,也为初学者提供了清晰的学习...
在IT行业中,网络爬虫是一种常见的数据获取技术,用于自动化抓取互联网上的信息。本案例主要探讨如何使用Python的Selenium库来爬取猎聘网站的职位列表,这对于数据分析、人才招聘研究或个人求职者了解市场动态都有很...
1. **动态内容抓取**:传统的网络爬虫可能无法很好地处理JavaScript渲染的内容,但Selenium可以通过执行JavaScript来获取这些动态加载的数据。 2. **多浏览器兼容**:Selenium支持多种浏览器,这意味着你可以针对...
本篇文章将围绕“Strong-Web-Crawler-master”项目,详细介绍如何利用C#编程语言结合Selenium自动化工具,构建一个强大的Web爬虫。 首先,C#是一种面向对象的、类型安全的编程语言,由微软开发,广泛应用于Windows...
接下来,让我们来看一个Python代码示例,展示如何使用Selenium实现自动切换页面: ```python from selenium import webdriver # 创建浏览器对象,这里以Chrome为例 driver = webdriver.Chrome() # 设置目标URL ...
Python作为一门强大且易学的语言,是实现爬虫技术的理想选择。本资料包主要涵盖了使用Python进行网络数据采集的相关知识,包括基础的requests库、高级的selenium库以及正则表达式的应用。 首先,我们来详细了解`...
这个“基于Selenium的Google网站爬虫”项目,就是利用Selenium库来自动化搜索并抓取Google网站上的特定信息。 【描述】:基于Selenium的Google网站爬虫.zip 这个压缩包文件包含了一个Python代码项目,其目标是通过...
在Java中,实现网络爬虫是一项常见的任务,尤其对于数据挖掘和数据分析领域。本文档资料将深入探讨如何利用Java语言来构建有效的网络爬虫。 一、基础概念 1. HTTP协议:网络爬虫主要基于HTTP或HTTPS协议与服务器...
利用Selenium,我们可以模拟真实用户登录淘宝,浏览商品,甚至执行JavaScript代码来触发页面加载,从而获取到完整的商品信息。 **实现步骤** 1. **环境配置**:首先确保Python环境已经安装了Selenium库,并且下载了...
本套资料专注于Java语言实现的网络爬虫技术,旨在帮助用户掌握如何利用Java进行高效、稳定的网页抓取。下面将详细介绍Java网络爬虫的相关知识点。 1. **基础概念** - 网络爬虫:网络爬虫(Web Crawler)是按照一定...
在IT领域,网络爬虫是一种自动化程序,用于从互联网上抓取信息,是数据分析和信息检索的重要工具。本文将详细探讨使用Java中的两种库——HttpClient和Jsoup,以及它们结合使用来构建网页爬虫的方法。 HttpClient是...
本主题将深入探讨如何利用Python实现一个网络爬虫系统,特别关注在GUI环境中进行操作,以及处理TCP/IP通信和网页数据提取。 首先,Python中的`requests`库是网络爬虫的基础,它用于发送HTTP请求并接收服务器的响应...
爬取知乎时,要处理登录验证、动态加载、滑动刷新等问题,可利用requests、BeautifulSoup、Selenium等工具。 7. 豆瓣爬虫:豆瓣提供了电影、书籍、音乐的评分和评论,爬取豆瓣数据有助于了解用户喜好和文化趋势。在...