网上找了好多资料,都不全,通过资料的整理,包括自己的测试,终于把环境打好了,真是对于一个刚接触爬虫的人来说实属不易,现在分享给大家,若有不够详细之处,希望各位网友能补充。

第一步,下载python,

这里有一个巨坑,python2.x与python3.x变化实在是太大,博主开始用的python2.7,后来发现很多模块版本太新,根本没办法使用,兼容性出了问题,索性把python2.7给卸了,然后下了python3.4,如果你习惯了用python2.x,就不要轻易升级,如果你是刚学python,建议还是安装3.x版本。还有就是注意python是64位还是32位。

第二步,环境变量设置,由于会使用python命令,所以最好还是设一个

桌面计算机—>右键“属性”—>点击“高级系统设置”—>高级属性里点击“环境变量”—>在系统变量里path中添加python安装目录。

第三步,下载一个合适的idl(代码编辑器),python自带的idle实在是太水了,对于一个项目来说,根本满足不了需求,只能做简单的测试。现在成熟的idl很多,博主使用的是Pycharm,觉得挺好用的,其他的不了解,你们可以尝试装机试试。

第四步,下载Beautiful Soup,

Beautiful Soup是一个非常流行的python模块,这个模块可以解析网页,并提供定位内容的便捷接口,对于Beautiful Soup的介绍,大家在网上都能查到,博主就不浪费时间了。对于python3.x必须安装Beautiful Soup4,其他版本可能安装不了。

下载后解压到Python安装目录下

打开cmd编辑器,进入到beautifulsoup文件夹内

执行

setup.py build

然后执行

setup.py install

这样 Beautiful Soup模块就顺利的安装到了python3.4里

第五步,下载lxml库,lxml是Python语言里和XML以及HTML工作的功能最丰富和最容易使用的库。这一步博主真是走了好多弯路,先是下载lxml的版本不匹配,再是pip版本太低,弄了好久终于解决了。

在资源库里下载:http://www.lfd.uci.edu/~gohlke/pythonlibs/,这里lxml有好多版本:

cp27代表是python2.7,cp34代表python3.4,amd64是64位的系统,不加代表32位。大家一定要对号入座,版本下错就惨了,就像博主我。。。

下载后把它放进python的安装目录下,此操作与Beautiful Soup一样,这样主要是为了方便管理。在cmd命令里,先执行“python -m pip install wheel”,安装wheel,成功后在python目录下的Lib\site-packages,能查看到wheel文件夹,代表安装成功。

然后安装lxml,“python -m pip install 你的lxml的路径(D:\workapps\python3.4.4\lxml-3.6.4-.....)”,如果提示你pip版本太低,则先更新pip(pip是一个安装和管理 Python 包的工具),命令行输入“python
-m pip upgrade pip”,升级完成后,再次安装lxml,就完成了。最后打开Pycharm,测试程序OK!!!

附上淘宝网页抓取测试代码:

本文转载于:https://blog.csdn.net/u011139117/article/details/52788785

python写网络爬虫的环境搭建的更多相关文章

  1. 读书笔记汇总 --- 用Python写网络爬虫

    本系列记录并分享:学习利用Python写网络爬虫的过程. 书目信息 Link 书名: 用Python写网络爬虫 作者: [澳]理查德 劳森(Richard Lawson) 原版名称: web scra ...

  2. 用Python写网络爬虫 第二版

    书籍介绍 书名:用 Python 写网络爬虫(第2版) 内容简介:本书包括网络爬虫的定义以及如何爬取网站,如何使用几种库从网页中抽取数据,如何通过缓存结果避免重复下载的问题,如何通过并行下载来加速数据 ...

  3. Python写网络爬虫爬取腾讯新闻内容

    最近学了一段时间的Python,想写个爬虫,去网上找了找,然后参考了一下自己写了一个爬取给定页面的爬虫. Python的第三方库特别强大,提供了两个比较强大的库,一个requests, 另外一个Bea ...

  4. 笔记之《用python写网络爬虫》

    1 .3 背景调研 robots. txt Robots协议(也称为爬虫协议.机器人协议等)的全称是"网络爬虫排除标准"(Robots Exclusion Protocol),网站 ...

  5. 读书笔记--用Python写网络爬虫02--数据抓取

    抓取(scraping)---爬虫从网页中抽取一些数据用以实现某些用途. 三种抽取网页数据的方法:正则表达式.Beautiful Soup和lxml. 2.1 分析网页 通过浏览器自带选项,查看网页源 ...

  6. Python 写网络爬虫思路分析

    首先从程序入口开始分析,在程序入口处传入一个待爬取的网址, 使用下载器Html_downloader类下载该地址的内容,使用解释器 parser分析内容,利用BeautifulSoup包抓取想要爬取的 ...

  7. 读书笔记--用Python写网络爬虫01--网络爬虫简介

    Wiki - Web crawler 百度百科 - 网络爬虫 1.1 网络爬虫何时使用 用于快速自动地获取网络信息,避免重复性的手工操作. 1.2 网络爬虫是否合法 网络爬虫目前人处于早期的蛮荒阶段, ...

  8. 用python写网路爬虫 PDF高清完整版免费下载 Python基础教程免费电子书 python入门书籍免费下载

    <用python写网路爬虫PDF免费下载>PDF书籍下载 内容简介 作为一种便捷地收集网上信息并从中抽取出可用信息的方式,网络爬虫技术变得越来越有用.使用Python这样的简单编程语言,你 ...

  9. Python即时网络爬虫:API说明

    API说明——下载gsExtractor内容提取器 1,接口名称 下载内容提取器 2,接口说明 如果您想编写一个网络爬虫程序,您会发现大部分时间耗费在调测网页内容提取规则上,不讲正则表达式的语法如何怪 ...

随机推荐

  1. position relative top失效的问题,温习下常用两种的居中方式

    因为body和html,默认高度是auto 所以相对于他们作为父元素设置position:relative的top值需要加上body,html{height:100%;} <!DOCTYPE h ...

  2. Latex: 解决 The gutter between columns is x inches wide (on page x), but should be at least 0.2 inches. 问题

    参考: Sample_WCCI.tex Latex: 解决 The gutter between columns is x inches wide (on page x), but should be ...

  3. node.js基本概念简单解释

    1:什么是回调函数? 2:什么是同步异步 3:什么是I/O 4:什么是单线程/多线程 5:什么是阻塞/非阻塞 6:什么是事件 7:什么是事件驱动 8:什么是事件驱动的回调 9:什么是事件循环 解释: ...

  4. 理解 Redis(8) - Ordered set 值

    ordered set 是根据 score值有序排列的数据集合. 首先还是清空数据, 并清屏, 此步骤省略~~~~ 新建一条 ordered set 数据 myset1, 并存入4个字符串, scor ...

  5. 生成器的使用demo

    定义一个函数: def frange(start, stop, increment): x = start while x < stop: yield x x += increment 使用: ...

  6. C#发起HTTP请求

    浏览器能看到的数据  用后端模拟请求都能获取到  如果拿不到 看看是不是请求参数哪里没设置 刚好服务器检查了这个参数 string url = ""; string para = ...

  7. 力扣(LeetCode)500. 键盘行

    给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词.键盘如下图所示. 示例: 输入: ["Hello", "Alaska", "Dad& ...

  8. Rest数据服务查询类-根据sql查询

    Rest数据服务查询类 需要iserver data服务支持,但请求的时候,不依赖SuperMap js lib包. 构造函数:QueryById=function(p_params): p_para ...

  9. Python pickle使用

    2019-01-15 10:04:32 用于序列化的两个模块 json:用于字符串和Python数据类型间进行转换 pickle: 用于python特有的类型和python的数据类型间进行转换 jso ...

  10. (转)c# control.Invoke control.BeginInvoke

    在Invoke或者BeginInvoke的使用中无一例外地使用了委托Delegate. 一.为什么Control类提供了Invoke和BeginInvoke机制? 关于这个问题的最主要的原因已经是do ...