生成器(yield)
1、yield作用 :把1个函数当做1个生成器来使用
2、yield特点 :让函数暂停,等待下一次调用
项目 :Csdn
1、知识点 :yield、pipelines.py
2、网址:https://blog.csdn.net/zhuimengshaonian66/article/details/84473444
3、目标
标题 : //h1[@class="title-article"]/text()
发表时间 : //span[@class="time"]/text()
阅读数 : //span[@class="read-count"]/text()
4、步骤
1、创建项目
2、定义爬取数据结构
3、创建爬虫程序
4、写管道文件
5、全局配置文件
6、运行爬虫
知识点
1、extract() :获取选择器对象中的文本内容
response.xpath('') 得到的结果为选择器对象的列表
2、pipelines.py中必须有1个函数叫:
def process_item(self,item,spider):
return item
3、爬虫程序中,start_urls必须为列表
项目 :Daomu
1、URL :http://www.daomubiji.com/dao-mu-bi-ji-1
2、爬取目标
1、书的名称
//h1[@class="focusbox-title"]/text()
2、
//article[@class="excerpt excerpt-c3"]/a/text()
书的标题
章节数量
章节名称
3、
//article[@class="excerpt excerpt-c3"]/a/@href
章节链接
MongoDB
1、在settings.py中定义相关变量
MONGODB_HOST =
MONGODB_PORT =
MONGODB_DATABASE =
MONGODB_TABLE =
2、在pipelines.py中添加项目管道
class DaomuMongoPipeline(object):
def __init__(self):
... ...
def process_item(self,item,spider):
... ...
3、在settings.py中设置项目管道
ITEM_PIPELINES = {
'Daomu.pipelines.DaomuMongoPipeline':200,
}
MySQL使用同MongoDB
Scrapy设置log :settings.py
# 设置log级别
LOG_LEVEL = "DEBUG"
# 指定本地log文件
LOG_FILE = "daomu.log"
5层日志级别
CRITICAL :严重错误
ERROR :一般错误
WARNING :警告信息
DEBUG :调试信息
INFO :一般信息
腾讯招聘网站案例
1、URL
https://hr.tencent.com/position.php?start=0
https://hr.tencent.com/position.php?start=10
2、Xpath匹配
//tr[@class="odd"] | //tr[@class="even"]
职位名称 : ./td[1]/a/text()
详情链接 : ./td[1]/a/@href
职位类别 : ./td[2]/text()
招聘人数 : ./td[3]/text()
工作地点 : ./td[4]/text()
发布时间 : ./td[5]/text()
Fiddler抓包工具使用
1、抓包工具设置
1、Tools->Options->HTTPS-> ...from browsers...
Actions->Trust root Certificate
2、Tools->Options->connections : 设置端口:8888
3、重启Fiddler抓包工具
2、设置浏览器代理
1、Proxy SwitchOmega -> 选项 -> 新建情景模式 -> HTTP 127.0.0.1 8888 -> 左下角 应用选项
2、点击浏览器右上角图标 -> AID1807 ->上网
3、Fiddler常用选项
1、选项卡 :Inspectors
Headers : 请求报头
WebForms: POST请求表单数据(在body中)
Raw : 以文本形式显示整个请求信息
设置手机抓包
1、Fiddler
2、在手机上安装证书
1、打开手机浏览器:http://IP地址:8888
## IP地址为电脑的IP地址(ipconfig)
2、在页面上下载(FiddlerRoot certificate)
下载文件名 :FiddlerRoot.cer
3、安装
3、设置手机代理
1、打开手机已连接的无线,代理设置->改成手动
2、输入IP地址 :你电脑的IP
输入端口号 :8888
- 文章中的项目可以通过公众号后台获取
想要看更多的课程请微信关注SkrEric的编程课堂