网络爬虫(一):配置selenium、pycharm(windows平台)
最近在学习爬虫的编写,使用selenium模块时候,遇到了很多坑,本blog的目的是总结一下遇到的坑和解决办法,以便后来人少走弯路!
以下介绍均以Python3.x为基准进行,基于windows平台的。
1. Selenium配置
我们在做爬虫的时候,避免不了要使用selenium模块,但是它不是python的标准库,所以需要自行安装。
那么如何安装selenium
呢,这时候就用到了pip
这个工具。
1. 首先我们需要下载pip:
所谓pip,即Python Install Packet(python安装包)。
2. 然后我们解压下载的pip,打开cmd命令控制台,cd到刚才解压的目录:
可以看到,python不是内部命令,执行失败;这是由于python的可执行文件路径没有加入到windows的环境变量里。
3. 设置环境变量:
按照如下的顺序:
计算机 -> 属性 -> 高级系统设置 -> 高级 -> 环境变量 -> path
将python.exe所在路径添加到path
中(注意,不同路径间的隔离使用;
)
4. 验证pip是否安装成功
使用如下命令(使用此命令之前,同样需要将pip所在的目录加入到环境变量中,默认的pip路径为python.exe同目录文件夹Scripts
下):
- pip list
5. 安装selenium模块
采用如下命令:
- pip install selenium
至此,selenium模块算是安装完成了
6. 配置selenium使其支持不同浏览器
开发中,我们一般采用chrome或firefox,因此我以这两款为准进行讲解。
当我们安装完成selenium模块,准备使用其进行编码时,突然发现,又有问题出现了:
发生以上原因是因为: 缺少Chrome/Firefox的webdriver驱动。
驱动的下载地址:
将下载好的驱动解压,然后放到与python.exe
同一个目录中;
到此处,你可以试试如下代码:
# coding = utf-8
from time import sleep
from selenium import webdriver
browser = webdriver.Firefox()
browser.get(r"http://www.baidu.com")
browser.find_element_by_id("kw").send_keys("python")
browser.find_element_by_id("su").click()
sleep(5)
browser.quit()
将会打开一个新的firefox窗口,算是selenium配置成功。
2. Pycharm 2017.3破解与使用
Pycharm是玩python、web开发、爬虫等等必不可少的工具,其优秀性不必多言,谁用谁知道!
1. 下载并安装 Pycharm2017
安装不用多说了吧!
2. 破解pycharm
进入Pycharm, 点击Help -> Register
然后,去下载一个破解软件:
按照下图进行设置:
输入完成后,点击Active
,一切都ok了!
另外,破解的专业网站地址:
3. 注册完成后,我们将开始我们第一个项目:
# coding = utf-8
from time import sleep
from selenium import webdriver
browser = webdriver.Firefox()
browser.get(r"http://www.baidu.com")
browser.find_element_by_id("kw").send_keys("python")
browser.find_element_by_id("su").click()
sleep(5)
browser.quit()
运行过程中,可能会出现如下的错误:
虽然我们安装了selenium
,但是Pycharm找不到这个模块(包),这怎么回事呢?
原因就是我们使用的python 解释器的问题(未使用系统默认的解释器)
可做如下修改:
- File -> Settings -> Project coding -> Project interpreter
选择所需要的Python解释器。
如下拉列表中没有对应的系统Python解释器,我们可以自己添加:
设置完以上之后,重新回到代码区运行上述代码,一切都ok了!
至此,大功告成!!!
网络爬虫(一):配置selenium、pycharm(windows平台)的更多相关文章
- 使用Nginx配置NodeJs程序(Windows平台)
简介 Nginx("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 服务器. Nginx 是由 Igor Sysoev ...
- 网络爬虫:利用selenium,pyquery库抓取并处理京东上的图片并存储到使用mongdb数据库进行存储
一,环境的搭建已经简单的工具介绍 1.selenium,一个用于Web应用程序测试的工具.其特点是直接运行在浏览器中,就像真正的用户在操作一样.新版本selenium2集成了 Selenium 1.0 ...
- python3编写网络爬虫16-使用selenium 爬取淘宝商品信息
一.使用selenium 模拟浏览器操作爬取淘宝商品信息 之前我们已经成功尝试分析Ajax来抓取相关数据,但是并不是所有页面都可以通过分析Ajax来完成抓取.比如,淘宝,它的整个页面数据确实也是通过A ...
- Python 网络爬虫 005 (编程) 如何编写一个可以 下载(或叫:爬取)一个网页 的网络爬虫
如何编写一个可以 下载(或叫:爬取)一个网页 的网络爬虫 使用的系统:Windows 10 64位 Python 语言版本:Python 2.7.10 V 使用的编程 Python 的集成开发环境:P ...
- NodeJS网络爬虫
原文地址:NodeJS网络爬虫 网上有很多其他语言平台版本的网络爬虫,比如Python,Java.那怎么能少得了我们无所不能的javascript呢
- 【python 网络爬虫】之scrapy系列
网络爬虫之scripy系列 [scrapy网络爬虫]之0 爬虫与反扒 [scrapy网络爬虫]之一 scrapy框架简介和基础应用 [scrapy网络爬虫]之二 持久化操作 [scrapy网络爬虫]之 ...
- 网络爬虫之Windows环境Heritrix3.0配置指南
一.引言: 最近在忙某个商业银行的项目,需要引入外部互联网数据作为参考,作为技术选型阶段的工作,之前已经确定了中文分词工具,下一个话题就是网络爬虫的选择,目标很明确,需要下载一些财经网站的新闻信息,然 ...
- 基于Heritrix的特定主题的网络爬虫配置与实现
建议在了解了一定网络爬虫的基本原理和Heritrix的架构知识后进行配置和扩展.相关博文:http://www.cnblogs.com/hustfly/p/3441747.html 摘要 随着网络时代 ...
- Python在windows平台的多版本配置
Python在windows平台的多版本配置 快速阅读: python在windows平台的环境变量以及多版本配置 ,以及pycharm如何安装包,以及安装包出错时如何排查. 1.python环境 ...
随机推荐
- python实现斐波那契数列笔记
斐波那契数列即著名的兔子数列:1.1.2.3.5.8.13.21.34.…… 数列特点:该数列从第三项开始,每个数的值为其前两个数之和,用python实现起来很简单: a=0 b=1 while b ...
- 打开SQL2008R2配置工具,提示远程调用失败[0x800706be]
卸载了Microsoft SQL Server 2012 Express LocalDB,依然不行. 再卸载Microsoft SQL Server 2014 LocalDB,此时右边显示框已可以显示 ...
- [UWP]爱恋动漫BT开发小记
在七月和某个人相识,在七月又和这个人重回陌路,在这个伤感的七月,让我来水一篇博客. 已经很久没有写博客了,最近现在来写一篇,总结一下这个七月. 今年的暑假特别的长,大概六月中旬就考完试了,而开学一直要 ...
- stacking
向大佬学习:https://zhuanlan.zhihu.com/p/32896968 https://blog.csdn.net/wstcjf/article/details/77989963 这个 ...
- python 通过 pymysql模块 操作 mysql 数据库
Python 中操作 MySQL 步骤 安装模块 pip install pymysql 引入模块 在py文件中引入pymysql模块 from pymysql import * Connection ...
- tzhpxc
#include<bits/stdc++.h> using namespace std; int nxt[200100],las[200100],ct,va[200010],pos[410 ...
- servlet中request和response
一.HttpServletRequest介绍 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象 ...
- day 53 Django form 组件 autu 组件
https://github.com/Endless-Clould/homework/tree/master/auto_zujian ---恢复内容开始--- 前情提要: Django 组件 的 fo ...
- Java堆内存溢出模拟
先了解一下Java堆: 关于Java内存区域的分配,可以查看Java运行时数据区域一篇文章. Java堆是虚拟机内存管理中最大的一块区域,该区域是线程共享的,某Java进程中所有的线程都可以访问该区域 ...
- JavaScript里的Date 对象属性及对象方法--实现简单的日历
上网搜索"js 日历插件"就会出来各种效果的功能丰富的日历插件,很多都可以下载源码,然后根据各自的需求对源码进行修改就可以直接用了. 但今天讲的不是如何使用这些插件,而是讲如何实现 ...