
学习爬虫的第一个入门项目,顺便说说VSCode + Anaconda 配置
Python Scrapy 的一些折磨人的坑。
开始搭建自己的项目
1、创建项目
这里我创建了一个ScrapyProject文件夹,用来存放各个Scrapy项目,要爬的网站是:https://www.xicidaili.com/

所以项目命名为xicidailiSpider
cmd要cd到ScrapyProject目录下,然后执行
scrapy startproject xicidailiSpider
这时候 scrapy 就会自动生成项目文件,注意下文件目录xicidailiSpider文件夹下还有一个xicidailiSpider文件夹,以及一个scrapy.cfg配置文件。

打开xicidailiSpider/xicidailiSpider文件夹,可以看到这些文件,其中存放爬虫文件的就是spiders文件夹

2、生成爬虫文件
cmd要cd到ScrapyProject/xicidailiSpider目录下,然后执行
    scrapy genspider xicidaili xicidaili.com
    //释:    生成     爬虫名字   要爬的域名 
这时候会发现spiders文件夹多了一个xicidaili.py,这就是我们要的爬虫文件

打开文件,一开始默认应该是这样的

准备爬点东西下来(<tr>内的<td>标签的内容)

修改xicidaili.py的内容为:
# -*- coding: utf-8 -*-
import scrapy
class XicidailiSpider(scrapy.Spider):
    name = 'xicidaili'
    allowed_domains = ['xicidaili.com']
    start_urls = ['https://www.xicidaili.com/nn/5']
    def parse(self, response):
        selectors = response.xpath('//tr')
        for selector in selectors:
            ip = selector.xpath('./td[2]/text()').get()
            port = selector.xpath('./td[3]/text()').get()
            print(ip,port)
 Ps: 如何用正则表达式或者xpath()爬取内容需要自学
3、运行爬虫文件
这时候cmd还是在ScrapyProject/xicidailiSpider目录下,然后执行
scrapy crawl xicidaili
如图:

网站内容就爬下来了。

注意事项
Anaconda的安装配置
安装时注意不要勾选第一个选项Add Anaconda to my PATH enironment variable(避免冲突)
 
Ps: 为什么要这样,因为我之前加入之后,一旦运行爬虫文件或者其他安装命令时就会

遇到这个问题(无法输入程序输入点xxx于动态链接库上),可以有以下解决办法:
1) 卸载重装该软件(对于Anaconda我就是这么做的,亲测有效)
2) 安装微软常用运行库:

安装时选择Just Me就行
 
手动设置系统环境变量
Ps: 这里我的安装路径是C:\Users\24115\
    C:\Users\24115\Anaconda3
    C:\Users\24115\Anaconda3\Scripts
    C:\Users\24115\Anaconda3\Library\bin
    C:\Users\24115\Anaconda3\python.exe 用conda初始化cmd(之后在VSCode调试Scrapy需要设置默认终端cmd)
1)打开cmd,输入conda init  

Ps: 之前初始化过,所以一堆no change.
2)VSCode设置Conda Path
打开VSCode配置文件,搜索conda

这样做之后在VSCode底部打开终端时,cmd会自动初始化conda环境(系统忘记你就自己输conda activate base,罒ω罒)

Scrapy的一些坑
运行提示:You are using pip version 10.0.1, however version 19.2.3 is available
 更新下pip
python -m pip install --upgrade pip
缺少依赖包
官方依赖下载网址:
1)提示: no module named pywin32
直接搜pywin32,选择对应操作系统位数和python版本的whl文件下载(我这里是pywin32‑224‑cp38‑cp38‑win_amd64.whl), 

用cmd打开到下载目录,执行
    pip install pywin32‑224‑cp38‑cp38‑win_amd64.whl
    //注意换成你的whl名字 2)提示: twisted 18.7.0 requires PyHamcrest>=1.9.0, which is not installed.
(同上网址)下载文件PyHamcrest(我这里是PyHamcrest‑1.9.0‑py2.py3‑none‑any.whl)
用cmd打开到下载目录,执行
    pip install PyHamcrest‑1.9.0‑py2.py3‑none‑any.whl
    //注意换成你的whl名字 检测一下Scrapy是不是真的安装好了
终端运行一下:
scrapy bench
成功就会是下面的状况:


京公网安备 11010502036488号