XPath
语句 | 作用 |
---|---|
./ | 当前节点 |
…/ | 当前节点的父节点 |
/* | 返回层级所有元素 |
//+元素 | 获得任意位置的该元素,当多个“//”一起使用的时候,有前后分层关系 |
/@+属性 | 获取元素中的属性 |
/*[@+属性] | 任意位置(元素)获取属性 |
/元素[属性=值] | 返回特定属性 |
/元素[contains(属性,模糊值)] | 模糊匹配,包含 |
/元素[not(contains(属性,模糊值))] | 模糊匹配,不包含 |
/元素[starts-with(属性,模糊值)] | 模糊匹配,以……开头 |
/text() | 只返回文本 |
//img/@src | 返回图片的url |
/following-sibling::div | 选择某元素之后的所有div元素 |
Scrapy Shell
指令 | 功能 |
---|---|
scrapy shell -s USER_AGENT=“Mozilla/5.0” URL地址 | 基本URL请求 |
scrapy shell --pdb URL地址 | 交互式调试 |
scrapy startproject 项目名称 | 创建Scrapy项目 |
scrapy genspider basic web | 在spider文件夹自动创建一个默认爬虫“basic.py” |
scrapy genspider -l | 查看其他爬虫模板 |
scrapy genspider -t | 使用其他模板创建爬虫 |
scrapy crawl basic(爬虫名) | 运行爬虫 |
scrapy parse --spider=basic(爬虫名) url | 解析任意相似URL |
scrapy crawl basic(爬虫名)-o items.json(json文件名) | 保存为json文件 |
scrapy crawl basic(爬虫名)-o items.csv(csv文件名) | 保存为csv文件 |
Ctrl+D | 退出Scrapy Shell |
Response
指令 | 功能 |
---|---|
response.body | 响应体内容 |
response.xpath(xpath路径) | 根据xpath路径返回网页内容预加载的Selector对象 |
response.css() | 根据css内容(css规则书写)返回网页内容预加载的Selector对象 |
response.xpath() .extract() | 返回xpath对象的文本数组 |
response.xpath() .re() | 使用正则表达式匹配内容 |