【python爬虫】scrapy入门1--环境搭建
Scrapy Day01
(1)
进入主目录,右键打开终端,创建项目
scrapy startproject xicidailiSpyder
进入项目目录
cd xicidailiSpyder/
创建爬虫文件(文件名不能与项目名相同)
scrapy genspider xicidaili www.xicidaili.com
(2)
Settings.py
取消注释:ROBOTSTXT_OBEY = False
取消注释:ITEM_PIPELINES
取消注释:DEFAULT_REQUEST_HEADERS,添加'User-Agent’:用户代理
设置输出编码(csv中文乱码特效药):FEED_EXPORT_ENCODING = 'utf-8-sig'
(3)
爬虫文件名.py
修改:start_urls = ['http://www.xicidaili.com/nt/6']
修改:
def parse(self, response):
# pass
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)
items ={
'ip':ip,
'port':port
}
# yield:跟字典
yield items
next_page=response.xpath("//a[@class='next_page']/@href").get()
if next_page:
print(next_page)
next_url=response.urljoin(next_page)
# 发出请求 Request,callback 回调函数 将请求得到的响应交给自己处理
yield scrapy.Request(next_url,callback=self.parse)
(4)
开始爬虫
scrapy crawl xicidaili
导出数据格式
scrapy crawl xicidaili -o ip.json
scrapy crawl xicidaili -o ip.csv
注意这3个命令都是项目相关的,只能用于已存在的项目。
其他:
1、谷歌插件:XPath Helper
2、pip install scrapy,依赖包twisted错误,第三方库离线下载whl(搜索twisted):https://pypi.org/search/?q=twisted&o=
3、硬件测试命令:scrapy bench,错误需要安装:pip install pywin32
最新文章
- Linux中总线设备驱动模型及平台设备驱动实例
- BufferedReader与BufferedWriter读写中文乱码问题
- 在linux上部署web环境
- ionic + cordova 使用 cordova-plugin-crosswalk-webview 中的一些个坑
- BZOJ3835: [Poi2014]Supercomputer
- web storage: sessionStorage 和 localStorage
- 开始接触BT5-自动登录X界面
- C#中的可空类型
- Linux Shell编程(13)——数字常量
- C#中对Excel进行操作
- 谈谈Ext JS的组件——组件基类:Ext.Component
- D3---01基础的柱状图制作(转)
- hana-banach定理
- Mysql 中的MVCC原理,undo日志的依赖
- mysql问题解决SELECT list is not in GROUP BY clause and contains nonaggregated column
- Unity3D AssetBundle相关
- (常用)re模块
- hive 锁
- 一步一步学习IdentityServer3 (6)
- 用php编写我的第一段代码:hello world
热门文章
- Linux 用户管理和提权
- Clustered和Nonclustered Indexes 各自得特点和区别及长短处
- #Week6 Neural Networks : Representation
- php扩展开发之hello world
- schedule定时任务出现问题 (大坑已填)!!
- Spring Cloud Alibaba系列(一)nacos作为服务注册中心
- POJ3734(矩阵快速幂)
- IDEA中如何使用debug调试项目 一步一步详细教程
- Spring官网阅读(十一)ApplicationContext详细介绍(上)
- Boosting算法总结(ada boosting、GBDT、XGBoost)