python中scrapy点击按钮

最初遇到的问题的是在用scrapy爬取微博时需要按照指定关键字来爬取特定微博,主要还是解决需要输入关键字然后点击搜索按钮的问题。于是:

首先

找了scrapy的官方文档,发现有FormRequest.from_request()函数,于是试着用了,官方文档说函数默认会找到第一个submit的按钮,试了下没有结果,然后把clickdata设成d字典{'name':'button_name'},button_name为按钮的名字,还是没有任何反应(不知道是不是我的问题)。

然后

因为之前有用过selenium写过简单的爬虫,但是爬取的数据到一定程度账号就会被禁止。于是转成scrapy准备用多账号来对付反爬虫。selenium是完全模拟浏览器的行为,click功能自然是与生俱来。所以萌生了,使用selenium来实现点击功能。

但是,这样也需要先登录然后才能实现搜索。怎么登录呢?cookies!于是想利用scrapy的cookies来登录selenium账号,经过了一段时间的探索,最终还是以失败告终。(“error message:cannot only add cookies in current domain”)

最后

在无奈之际,手动搜索了微博,然后点击到下一页。发现链接后缀page=2(当前为第二页),原来第一页后面的链接都是隐藏的,发现这个规律之后,就用规则的方法实现的微博的搜索和页面的跳转!

换个视角会发现世界很美好!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Angular&服务

Angular2 @Component

它的配置更简单一些,非常适合组件化的app架构。使用web组件和使用Angular风格的app架构使得编写app更为简便。

572
来自专栏代码GG之家

android MVVM开发模式(二)

举手之劳,帮忙分享出去,让更多热爱编程的人加入进来。 简介 之前讲了那么多,主要围绕着这个核心概念:绑定。 不过相对来说,我们上节讲的其实只是它的一个知识点:解...

1907
来自专栏web前端教室

ReactJs的虚拟dom是个啥情况?

这个周末的先行者课程要讲React的一些东西,所以今天写一些React的内容。 话说前端操作中最消耗资源的是啥?如果我说dom操作,那应该没有人会反对吧。 在以...

1855
来自专栏自动化测试实战

《selenium2 python 自动化测试实战》(18)——自动化测试模型(一)

3339
来自专栏更流畅、简洁的软件开发方式

js的动态加载、缓存、更新以及复用(二)恼人的命名冲突

  上一篇发出来后得到了很多回复,在此首先感谢大家的热情捧场!有的推荐第三方框架,比如 In.js、requrieJS、sea.js、lab.js等。这个开阔了...

1798
来自专栏编程

前端三大框架大杂烩

摘要:从angular的诞生独步天下,到现在三大框架平分天下,基本形势已经趋于稳定。每一个框架从诞生到受欢迎,都有其特定的原因和背景。不同的开发者选择时,也是依...

2465
来自专栏开源优测

[接口测试 - http.client篇] 17 http.client之入门级接口测试框架

概述 在上文《[接口测试 - http.client篇] 16 基于http.client之POM实战一下》分享了如何应用POM模式来进行接口测试。 因时间等因...

2548
来自专栏一场梦

学习网页制作其实并不难

1393
来自专栏拂晓风起

关于前后端同构,我的一点思路和心得(vue、nodejs、react、模版)

1134
来自专栏杨建荣的学习笔记

Java和Python的Web开发

在Java里面有一种服务端的软件组件技术,叫做Servlet,其实它的定位就是轻巧的小玩意,比如Java里面的applet也是类似的命名。Servlet能够动态...

2814

扫码关注云+社区