安装python环境
apt install -y python3-pip・
升级pip版本: pip install – upgrade pip
安装Scrapy
通过pip安装 Scrap框架 pip install Scrapy
报错
pyopenssl 20.0.1 has requirement cryptography>=3.2, but you'll have cryptogr
解决方法:重新安装OpenSSL sudo rm -rf /usr/local/lib/python3.5/dist-packages/OpenSSL/ sudo apt install –reinstall python-openssl
安装非 Python的依赖 apt-get install python-dev python-pip libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev
Scrapy命令行翻译
| 命令 | 翻译 |
|---|---|
| bench | 运行快速基准测试 |
| check | 检查Scrapy内容 |
| crawl | 运行Scrapy |
| edit | 编辑Scrapy |
| fetch | 使用 Scrapy 下载器获取 URL |
| genspider | 使用预定义模板生成新Scrapy |
| list | 列出可用的Scrapy |
| parse | 解析 URL(使用Scrapy)并打印结果 |
| runspider | 运行一个自包含的Scrapy(不创建项目) |
| settings | 获取设置值 |
| shell | 交互式抓取控制台 |
| startproject | 创建新项目 |
| version | 打印 Scrapy 版本 |
| view | 在浏览器中打开 URL,如 Scrapy 所见 |
制作 Scrapy吧虫一共需要4步:
・新建项目( scrapy startproject xxx):新建一个新的爬虫项目 ・明确目标(编写items.py):明确你想要抓取的目标 ・制作爬虫( spiders/xxspiders. py):制作爬虫开始爬取网页 ・存储内容( pipelines. py):设计管道存储爬取内容
pip install scrapy
scrapy startproject myspider #创建爬虫项目 scrapy crawl myspider #执行爬虫
项目目录文件结构
scrapy.cfg:项目的配置文件
myspider:项目的 Python模块,将会从这里引用代码
myspider/items.py:项目的目标文件,用来保存爬取到的数据,有点像python的dict,但是提供一些额外的保护,减少错误
myspider/pipelines.py:项目的管道文件
myspiden/settings.py:项目的设置文件
myspider/spiders/:存储爬虫代码目录
item 示例.
import scrapy
class Itcastitem(scrap Item):
name = scrapy.Field()
level = scrapy.Field()
info = scrapy.Field ()
Selectors 选择器
xpath():传入 xpath表达式,返回该表达式所对应的所有节京的 selector list列表 CSS():传入CSS表达式,返回该表达式所对应的所有节点的 selector list列表,语法同 BeautifulSoup4
extract():序列化该节点为 Unicode字符串并返回list
re():根据传入的正则表达式对数据进行提取,返回 Unicode字符List列表
Xpath表达式的例子及对应的含义:
/html/head/tit1e:选择HTML>文档中
标签内的path = [x [ "path" ] for ok, x in results if ok]
如果 返回true ,则读取返回迭代x中的path
返回一个列表
Import sys
reload(sys)
sys. setdefaultencoding (utf-8)
#这三行代码是 Python2.x里解决中文编码的万能钥匙,经过这么多年的吐槽后 Python3学乖了,默认编码是 Unicode了...