博主信息
Laical
博文
21
粉丝
0
评论
0
访问量
10116
积分:0
P豆:52

简单制作Scrapy爬虫

2020年09月16日 17:25:05阅读数:108博客 / Laical/ 网络爬虫教程

爬虫框架本身来说,都是很优秀的,说那个更好,不如说那个更适合公司的业务需求。
scrapy是用python语言编写的一个爬虫框架也是一个常见的爬虫框架,非常好用。只需要简单采集和存储即可。自带多线程和异常处理功能
Scrapy:支持分布式爬虫,扩展性强,使用简单,支持中间件机制,不支持json网页采集。
制作Scrapy步骤:
1、新建爬虫项目:在网络爬虫采集数据之前,需要建立一个新的Scrapy爬虫项目,然后运行爬虫。
2、明确目标:确定需要采集的目标网站和数据信息,运行项目,输入指令运行代码。
3、新建爬虫:解析数据信息,运行代码,爬数据,取数据。
4、数据存储:选择适合自己的存储方式存储自己想要的数据内容。
制作Scrapy爬虫使用代理:```python

  1. #! -*- encoding:utf-8 -*-
  2. import base64
  3. import sys
  4. import random
  5. PY3 = sys.version_info[0] >= 3
  6. def base64ify(bytes_or_str):
  7. if PY3 and isinstance(bytes_or_str, str):
  8. input_bytes = bytes_or_str.encode('utf8')
  9. else:
  10. input_bytes = bytes_or_str
  11. output_bytes = base64.urlsafe_b64encode(input_bytes)
  12. if PY3:
  13. return output_bytes.decode('ascii')
  14. else:
  15. return output_bytes
  16. class ProxyMiddleware(object):
  17. def process_request(self, request, spider):
  18. # 代理服务器(产品官网 www.16yun.cn)
  19. proxyHost = "t.16yun.cn"
  20. proxyPort = "31111"
  21. # 代理验证信息
  22. proxyUser = "username"
  23. proxyPass = "password"
  24. request.meta['proxy'] = "http://{0}:{1}".format(proxyHost,proxyPort)
  25. # 添加验证头
  26. encoded_user_pass = base64ify(proxyUser + ":" + proxyPass)
  27. request.headers['Proxy-Authorization'] = 'Basic ' + encoded_user_pass
  28. # 设置IP切换头(根据需求)
  29. tunnel = random.randint(1,10000)
  30. request.headers['Proxy-Tunnel'] = str(tunnel)
  31. class SplashProxyMiddleware(object):
  32. def process_request(self, request, spider):
  33. # 代理服务器(产品官网 www.16yun.cn)
  34. proxyHost = "t.16yun.cn"
  35. proxyPort = "31111"
  36. # 代理验证信息
  37. proxyUser = "username"
  38. proxyPass = "password"
  39. request.meta['splash']['args']['proxy'] = "http://{}:{}@{}:{}".format(proxyUser,proxyPass,proxyHost,proxyPort)

```

全部评论

文明上网理性发言,请遵守新闻评论服务协议

条评论
  • exe软件的方法:首先打开“Microsoft Visual Studio 2008”软件;然后点击【文件】选择【新建项目】;接着在新建项目窗口中选择【windows窗体应用程序】;最后进行代码的编写
    而片面的说,就是由计算机自动与服务器交互获取数据的工具,这篇文章主要想谈谈获取数据的这一部分。
    python在实际工中的应用有:1、自动化测试,编写的实现脚本,实现自动化;2、网站开发,借助django,flask框架搭建自己的网站;3、自动化运维,自动处理大量的运维任务;4、获取处理大量信息
    python为当前做火爆的胶水语言,其赚钱的方式有很多,如从事python教学,用取数据,大数据分析,网页和游戏开发等。
    Python是一个非常好用的编程语言而且开发速度快,语法通俗易懂,容易上手,能做的有:1、web开发;2、开发;3、人工智能;4、游戏开发;5、Internet脚本 ;6、远程桌面软件。
    python可以做:1、Web开发;2、数据科学研究;3、网络;4、嵌入式应用开发;5、游戏开发;6、桌面应用开发。

    2020-09-17

    python语言有着上手、易于学习、速度快、开源等优点,它的应用领域非常广,如web应用开发、自动化运维、网络、人工智能等。
    在html中,canvas提供了开发者自定义绘图的接口,提供了一种使用JavaScript来绘图形的而强大的方法。它可以用于绘图形,合成照片或做(而不是那么)的动画。
    千锋教育的口碑:01.身为一个在教育培训行业摸打滚了三四个年头的打杂妹,看到这个问题,不由的想来辩上一辩。
    这篇文章主要介绍了Python图像处理之画板实现方法,结合实例形式分析了Python基于cv2模块与numpy模块的数值计算及矩形图形绘技巧,需要的朋友可以参考下。

    2020-05-09

    521

    宏指的就是把一些命令组织在一起,为一个独命令完成某种功能,其用就是可以化步骤,提高工效率,管理宏的方法:首先依次点击“工具-宏-录新的宏”;然后进入宏的录;最后用vb编辑器管理宏即可。
    1、(HTML5+CSS3)前台用户界面布局编写;这个阶段实战案例(个人博客网页实战/个人历网页/注册表);2、(MySQL)存储网站内容的数据库设计...
    golang sqlx捕捉错误,使用Go语言通过内置的错误接口提供了非常的错误处理机来捕获错误。
    pr与ae的区别:1、“ae”是Adobe公司推出的一款图形视频处理软件,而pr是一款常用的视频编辑软件;2、pr应用于广告和电视节目中,而ae适用于从事设计和视频特技的机构;3、PR比较
    golang recover机类似于try catch机,首先要理解defer的用,说defer就类似于面向对象里面的析构函数,在这个函数终止的时候会执行,即使是panic导致的终止。
    有些人觉得excel导出很复杂,但其实很,两步操即可完成想要的数据导出。第一步,将excel配置到thinkphp5框架的惯例配置common中;第二步,编写控器代码。
    入口文件是应用的一入口,对应用的所有请求都定向到应用入口文件,系统会从URL参数中解析当前请求的模块、控器和操,可以通过设置模块绑定或者域名部署等方式化URL地址中的模块及控器名称。
    html表格时,有时我们会遇到要倒出数据的需求,如果一点点靠自己实现,十分困难,不个好在bootstrap table插件中就有这个功能,我们只需要进行的设置就能够实现数据导出功能。
    CSS伪元素(pseudo-elements)非常的有用——你可以用它出CSS三角形,用在提示框上面,还可以用它完成很多的任务,而不需要多余的HTML元素。
    区别是:1、c语言不支持可视化编程,vb支持可视化编程;2、对于界面,c语言很繁琐,vb则相对;3、在c语言中必须先声明变量后使用,vb可以不先声明变量;4、c语言的程序必须从一个main函数开始