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

最新文章

  1. Linux中总线设备驱动模型及平台设备驱动实例
  2. BufferedReader与BufferedWriter读写中文乱码问题
  3. 在linux上部署web环境
  4. ionic + cordova 使用 cordova-plugin-crosswalk-webview 中的一些个坑
  5. BZOJ3835: [Poi2014]Supercomputer
  6. web storage: sessionStorage 和 localStorage
  7. 开始接触BT5-自动登录X界面
  8. C#中的可空类型
  9. Linux Shell编程(13)——数字常量
  10. C#中对Excel进行操作
  11. 谈谈Ext JS的组件——组件基类:Ext.Component
  12. D3---01基础的柱状图制作(转)
  13. hana-banach定理
  14. Mysql 中的MVCC原理,undo日志的依赖
  15. mysql问题解决SELECT list is not in GROUP BY clause and contains nonaggregated column
  16. Unity3D AssetBundle相关
  17. (常用)re模块
  18. hive 锁
  19. 一步一步学习IdentityServer3 (6)
  20. 用php编写我的第一段代码:hello world

热门文章

  1. Linux 用户管理和提权
  2. Clustered和Nonclustered Indexes 各自得特点和区别及长短处
  3. #Week6 Neural Networks : Representation
  4. php扩展开发之hello world
  5. schedule定时任务出现问题 (大坑已填)!!
  6. Spring Cloud Alibaba系列(一)nacos作为服务注册中心
  7. POJ3734(矩阵快速幂)
  8. IDEA中如何使用debug调试项目 一步一步详细教程
  9. Spring官网阅读(十一)ApplicationContext详细介绍(上)
  10. Boosting算法总结(ada boosting、GBDT、XGBoost)