Python3网络爬虫环境配置

tesserocr

1 安装 —— Windows环境

参考
作用:识别验证码
conda install -c conda-forge tesserocr

2 命令行中使用tesseract命令

  1. 用下图测试安装是否成功
  2. tesseract testocr.png result -l eng && type result.txt,其中调用了tesseract命令,第一个参数为图片的名称,-l指定使用的语言包,这里的eng表示使用英文,result.txt是保存的结果

3 Python中使用tesserocr库

1
2
3
4
5
import tesserocr
from PIL import Image

img = Image.open("testocr.png")
print(tesserocr.image_to_text(img))

PhantomJS

1 安装

  1. 下载地址
  2. 直接解压即可用
  3. 将phantomjs-2.1.1-windows\bin对应的目录加到环境变量中,或者将phantomjs.exe复制到我们配置的Anaconda的Python虚拟环境的Script文件夹中
  4. 这里我们选择的是后者,然后在该虚拟环境命令行输入phantomjs即可进入Phantomjs

2 在python中使用

1
2
3
4
5
6
# 在控制台输出https://www.baidu.com
from selenium import webdriver

browser = webdriver.PhantomJS()
browser.get('https://www.baidu.com')
print(browser.current_url)

Scrapy

  1. conda install Scrapy
  2. 测试:在命令行输入scrapy

pyspider

需要先安装PhantomJS

  1. pip install pyspider报错

    ERROR: Command errored out with exit status 10: python setup.py egg_info Check the logs for full command output.

  2. 前往pycurl下载pycurl‑7.43.0.4‑cp37‑cp37m‑win_amd64.whl(根据python3.7和64位系统而选择)

  3. pip install pycurl-7.43.0.4-cp37-cp37m-win_amd64.whl

爬虫基础

1 HTTP基本原理

1.1 URI & URL

  1. URI Uniform Resource Identifier 统一资源标识符
  2. URL Universal Resource Locator 统一资源定位符
  3. URL是URI的子集,URI还包括URN(Universal Resource Name 统一资源名称)只命名资源但不指定位置

1.2 HTTPS

Hyper Text Transfer Protocol over Secure Socket Layer 是以安全为目标的HTTP通道。有些网站虽然HTTPS协议,但仍被提醒不安全,可能是证书验证不通过,如果要爬取这样的站点就要设置忽略证书的选项。

2 代理的基本原理

有的爬虫刚开始可以正常抓取数据,但是片刻后出现403错误,可能是网站采取了反爬虫措施。比如服务器检测单位时间内某IP的请求次数,超过阈值则拒绝服务,这需要借助某种方式伪装IP。如设置代理,不断更换

2.1 代理的作用

  1. 访问一些平时无法访问的站点
  2. 提高访问速度
  3. 隐藏真实IP


----------- 本文结束 -----------




0%