scrapy爬取动态网页

目标

用scrapy爬虫实现在网页 https://www.genealogy.math.ndsu.nodak.edu 中输入人名进行搜索,得到搜索结果网页内容。

步骤

  1. 观察发现搜索结果网页的url是https://www.genealogy.math.ndsu.nodak.edu/quickSearch.php,不能通过构造url获取该网页的真正信息,因此知道是动态网页。
  2. 查看网页 https://www.genealogy.math.ndsu.nodak.edu中的action,有如下html代码,发现目标action的方式是post,且需要通过form-data提交要搜索的人名。
<form action="quickSearch.php" method="post"><div style="text-align: center"><label for="searchTerms">Quick Search</label> <input name="searchTerms" type="text" size="30" maxlength="90" id="searchTerms" /> <input name="Submit" type="submit" value="Search" /><br /><span style="font-size: small"><a href="search.php">Advanced Search</a></span></div>
</form>
  1. 使用postman进行如下测试

  2. 在scrapy的spider中用如下代码提交form-data并得到响应网页内容,在函数parse_MGP中进行下一步爬取信息操作。

yield scrapy.FormRequest(url=self.start_urls[1],formdata={"searchTerms": self.searchName},callback=self.parse_MGP
)

总结

  1. 不能通过构造URL获取的网页是动态网页,需要用动态网页的爬取方法。
  2. 通过观察网页的source文件,找到目标action的提交方式。
  3. 用postman进行测试。
  4. scrapy.FormRequest()提交有formdata的post请求。

scrapy爬取动态网页相关推荐

  1. scrapy爬取动态网页_动漫爱好者必会的Scrapy爬虫框架之———— 多页爬取图片的信息...

    ok, 接下来我们要将怎样多页爬取图片的信息,以及如何下载图片. 知识点涉及到: 自动的翻页爬取 多个parse 之间的request 传递 构建图片爬取的通道 さあ!始めようぜ! 首先我们要爬取的网 ...

  2. scrapy爬取动态网页_scrapy_splash 设置随机请求头

    本文为 霾大:scrapy_splash 爬取 js 加载网页初体验​zhuanlan.zhihu.com 的补充 在上面的文章中我们仅仅是初步完成了 scrapy_splash 的简单使用 接下来我 ...

  3. scrapy爬取动态网页_scrapy_splash 爬取 js 加载网页初体验

    最近打算学习 scrapy_splash 来爬取 js 加载的动态网页 selenium 实在太慢了,不在迫不得已的情况下并不推荐使用 下面,直接开始吧 目标网站 JD 某商品 环境需求 已安装 do ...

  4. chrome动态ip python_用Python爬虫爬取动态网页,附带完整代码,有错误欢迎指出!...

    系统环境: 操作系统:Windows8.1专业版 64bit Python:anaconda.Python2.7 Python modules:requests.random.json Backgro ...

  5. python动态页面元素爬取_爬取动态网页python+Web kit

    上一篇文章爬取动态网页python+selenium+webdriver介绍了爬取动态网站的一种模拟浏览器的方法,该方法的优劣也很明显 优: 可以模拟任何人的操作,输入账号密码,点击登录等等操作 劣: ...

  6. Python之网络爬虫(selenium爬取动态网页、爬虫案例分析、哈希算法与RSA加密)

    文章目录 一.selenium爬取动态网页 二.爬虫案例分析 三.哈希hash算法与RSA加密 一.selenium爬取动态网页 1.动态网页认知 爬虫其实就是在模仿浏览器的行为 应对要多次数据的交互 ...

  7. Python爬虫爬取动态网页

    系统环境: 操作系统:Windows8.1专业版 64bit Python:anaconda.Python2.7 Python modules:requests.random.json Backgro ...

  8. 【爬虫】Selenium爬取动态网页的base64图片

    文章简介 Selenium爬取动态网页的base64图片,并解决页面完整加载缓慢,base64字符串的获取和格式转码,一些页面不存在,部分照片无法加载等问题.后附源码. 目录 1,需求 2,环境和使用 ...

  9. java爬虫系列(二)——爬取动态网页

    准备工作 项目地址 网页解析工具地址 启动网页解析器 根据系统选择所需文件 指定端口号启动工具 项目配置 seimi.properties SeimiAgentDemo.java 分析原网页代码 Bo ...

  10. python爬取动态网页图片

    爬取某知名网站图片(爬取动态网页) python爬取动态网页图片 python爬取动态网页图片 环境: python3.pycharm 库: requests.urllib.json 思路: 1.分析 ...

最新文章

  1. python pandas inplace用法
  2. C#.Net 如何动态加载与卸载程序集(.dll或者.exe)6-----在不卸载程序域的前提下替换程序集文件。...
  3. 【干货合辑】+你有什么独家数据库优化技巧?
  4. 零基础学习 Python 之运算符
  5. php 这样写日志 sleep你会了吗?
  6. 视频专辑:JAVA语言入门视频教程
  7. UnaryOperator函数式接口
  8. codeforces 798D
  9. Linux中的的虚拟WEB主机的几点总结
  10. M1 Mac禁用电池运行状况管理,打开/关闭优化电池和充电方法有哪些?
  11. 向上转型---父类引用指向子类对象 A a = New B()的使用
  12. 各大组织大马默认密码
  13. Linux中bin文件的解压
  14. 学计算机应该买多大尺寸笔记本电脑,笔记本电脑买几寸的比较合适?
  15. HP Gen8 MicroServer win7 系统安装手册(usb)
  16. C/C++_随机生成0-1之间的数
  17. win10安装super-url出现编码错误解决方法
  18. HSV颜色空间和RGB颜色空间相互转换C语言实现
  19. 如何包含鼠标指针(箭头)截图或者录屏?
  20. 58同城笔试:后端开发编程题

热门文章

  1. 微信小程序个人/企业开放服务类目一览表
  2. kafka topic acl授权
  3. QT图片缩放、拖动、重置
  4. Centos7__CA认证
  5. rockchip rk3566 调试杂记
  6. Hive_数据建模工具EZDML
  7. uboot 源码官方下载地址
  8. java pgm_java - 如何用Java读取PGM图像? - 堆栈内存溢出
  9. 【分享】超级菜鸟另类玩swf反汇编
  10. python如何调用pyd_C#调用pyd