日期:2020.01.22 博客期:130 星期三 【代码说明,如果要使用此页代码,必须在本博客页面评论区给予说明】 今天来说一说爬取的工作进展,我们的要求是爬取首都之窗的信件类型,那么我们就开始吧! 首先,先找到网页:http://www.beijing.gov.cn/hudong/hdjl/co ...
分类:
编程语言 时间:
2020-01-22 19:54:11
阅读次数:
80
总结: 1. socket默认是否是阻塞的?阻塞体现在哪里? 2. 如何让socket编程非阻塞? client.setblocking(False) #非阻塞 3. IO多路复用作用? 检测多个socket是否发生变化。 操作系统检测socket是否发生变化,有三种模式: select:最多102 ...
分类:
编程语言 时间:
2020-01-22 16:27:17
阅读次数:
73
Scrapy依赖的包有如下:lxml:一种高效的XML和HTML解析器w3lib:一种处理URL和网页编码多功能辅助twisted:一个异步网络框架cryptography 和 pyOpenSSL:处理各种网络级安全需求——————————————————————————1.先运行一次pip安装 p ...
分类:
编程语言 时间:
2020-01-21 16:23:05
阅读次数:
105
先上结果: 问题: 答案: 可以看到现在答案文档有十万多,十万个为什么~hh 正文开始: 分布式爬虫应该是在多台服务器(A B C服务器)布置爬虫环境,让它们重复交叉爬取,这样的话需要用到状态管理器。 状态管理器主要负责url爬取队列的管理,亦可以当爬虫服务器。同时配置好redis及scrapy-r ...
分类:
其他好文 时间:
2020-01-20 09:53:34
阅读次数:
82
1、环境 操作系统:windows10。 python版本:python3.6,Anaconda(将Anaconda3\Scripts;路径添加到环境变量Path中) pycharm:pycharm2018。 2、下载scrapy相关类库 在上图中查询类库,然后点击“Install package” ...
分类:
其他好文 时间:
2020-01-18 19:42:17
阅读次数:
88
以下操作均是在ubuntu系统下运行 from selenium import webdriver from scrapy.selector import Selector #操作chrome浏览器抓取淘宝 driver = webdriver.Chrome() driver.get('淘宝链接') ...
分类:
编程语言 时间:
2020-01-18 10:40:20
阅读次数:
144
19. Scrapy框架(CrawlSpider) 提问:如果想要通过爬虫程序去爬取”糗百“全站数据新闻数据的话,有几种实现方法? 方法一:基于Scrapy框架中的Spider的递归爬取进行实现(Request模块递归回调parse方法)。 方法二:基于CrawlSpider的自动爬取进行实现(更加 ...
分类:
其他好文 时间:
2020-01-18 01:31:34
阅读次数:
111
1. selenium在scrapy中的使用流程 重写爬虫文件的构造方法,在该方法中使用selenium实例化一个浏览器对象(因为浏览器对象只需要被实例化一次) 重写爬虫文件的closed(self,spider)方法,在其内部关闭浏览器对象。该方法是在爬虫结束时被调用 重写下载中间件的proces ...
分类:
其他好文 时间:
2020-01-18 01:12:31
阅读次数:
103
1.增加并发: 默认scrapy开启的并发线程为32个,可以适当进行增加。在settings配置文件中修改CONCURRENT_REQUESTS = 100值为100,并发设置成了为100。 2.降低日志级别: 在运行scrapy时,会有大量日志信息的输出,为了减少CPU的使用率。可以设置log输出 ...
分类:
其他好文 时间:
2020-01-18 01:01:04
阅读次数:
82
1. 为什么需要模拟登陆? #获取cookie,能够爬取登陆后的页面 2. 回顾: requests是如何模拟登陆的? #1、直接携带cookies请求页面 #2、找接口发送post请求存储cookie 3. selenium是如何模拟登陆的? #找到对应的input标签,输入文字点击登录 4. 那 ...
分类:
其他好文 时间:
2020-01-18 00:57:11
阅读次数:
87