业界动态
scrapy 搜索关键字_Scrapy抓取动态网页
2024-10-31 21:15

动态网页指几种可能

scrapy 搜索关键字_Scrapy抓取动态网页

1)需要用户交互,如常见的登录操作

2)网页通过JS/ AJAX动态生成,如一个html里有

aaa

3)点击输入关键字后进行查询,而浏览器url地址不变

本篇文章不借助任何外部工具,实例操作如何以观察网络通信的方法解析动态网页。

环境:Win10 , python2.7,scrapy 1.4.0,Chrome浏览器,Firefox浏览器

1、观察是否为动态网页

以华盛顿邮报为例,搜索关键词 French ,搜索到的结果如下

415b0655202e9402e02d3ecb716bc705.png

F12打开控制台,在Element下找到想要获得的搜索列表数据所在的section标签”main-content”

e32df7d1ea0a2f052d690cffa56bd4bc.png

然后转到Network的Doc标签,重新加载当前网页,在Name下点击第一个文件,在右边的Preview下寻找相应的section id 为 “main-content”的元素,发现没有数据

214bc615cd00093ffb90d00ee4dd1a57.png

说明该内容为动态加载

2、获得JS点击动作发出的请求url

在JS标签下寻找真正存放数据的网页,点击Name下的文件观察右侧的Preview有没有数据,存放数据的网页才是我们真正需要爬取的网页

89d2399ec1e4bb39daaa856c09ab5a4c.png

一个小技巧:一般动态加载的数据都以json形式存储,在Filter里填json过滤,可以更加快速地寻找到想要的文件,但不是所有的网站都适用,还是需要在JS或XHR里手动寻找所需文件。

复制当前文件的链接,得到一个很长的url

在浏览器中打开这个地址,发现这是一个json文件,但是该url太过冗长,我们可以根据需要适当地删减一些参数,这些参数可以在Headers下得到

19449eda02f11a7b8284fbc97f80876c.png

选择保留count,datefilter,query三个参数,注意,必须保证删减参数后的网页与原url获得的json数据一样,精简后的url为

在火狐浏览器中打开该url(选择火狐浏览器打开是因为json数据显示友好),获得的页面如下

f2acc346501dd80aa9689c0959b24725.png

3、提取json数据

根据以上json文件的结构,我们可以用json.loads函数进一步提取想要的数据

0c26a60a34d5e81209e55dc2a94c27b1.png

4、翻页机制

在网页上进行操作,观察url的参数变化规律

第一页

cc0e029ee9592913f6ed9d297defb98d.png

第二页

915ca2f6c7c36833428ccd67fff75405.png

第三页

ba584e47ea0b9e898c372955f43ca769.png

发现每一页的url变化都是由多出来的startat这个参数导致的,解析下一页只需要每次让startat的值增加20,在url后添加该参数即可,如第二页

最后根据新闻总数来计算出最后一页的startat值即可

5、解析以表单形式提交参数的动态网页

有的网站输入关键字后进行查询,而浏览器url地址不变,有可能是以表单形式提交Request参数。

以苹果日报为例,关键字搜索“法國”,url中却没有类似“?q=法國”的参数

2c836eb33087c4f381f53dc9c2b7ad9a.png

再次加载该url,发现其定位在一个单独的搜索页面

320673ac09a406e95b3ab6aee071b0d6.png

分析搜索的结果,发现该参数是以表单的方式提交的

cd57f503e2bed5698fe6ffc517bae7ff.png

根据input 的参数填充FormRequest

0b43951fea041fbee941dfdb4035cbcd.png

返回的response就可以用xpath正常解析网页了

    以上就是本篇文章【scrapy 搜索关键字_Scrapy抓取动态网页】的全部内容了,欢迎阅览 ! 文章地址:http://dfvalve.xrbh.cn/news/2894.html 
     资讯      企业新闻      行情      企业黄页      同类资讯      首页      网站地图      返回首页 迅博思语资讯移动站 http://keant.xrbh.cn/ , 查看更多   
最新新闻
“撒旦”人血鞋?碰瓷新疆棉花的耐克,又开始喊冤了?
继主动碰瓷新疆棉花把自己搞得股价大跌之后耐克秉承着“no zuo no die”的精神又开始暗搓搓搞“阴间操作”限量发售含人血的“撒
tiktok怎么搭建外网 详细教程及步骤
TikTok怎么搭建外网(详细教程及步骤)TikTok是一款非常流行的短视频社交应用程序,它在全球范围内拥有数亿用户。在使用TikTok的
《以案释法》步数越多,收益越高?别被“走路也能赚钱”的理财广告忽悠了
  走路也能赚到钱的理财  “丑的人还在睡觉,美的人已经跑出一杯星巴克了。”2016年的一天,一个女孩晒出的朋友圈截图引起了
如何用生意参谋算出同行店铺真实销售额
怎么经过生意顾问算出同行店肆实在销售额?大多数在淘宝天猫工作过的人都知道,他们的背景显现了同行商铺的买卖数据,这被称为买
一款最近比较火的网站统计分析系统,易分析具有什么样的功能呢?
一、产品简介北京普艾斯科技有限公司成立于2009年,服务客户1000+,包括电商、金融、保险、政务服务等行业。私有化部署,全渠道
向佐快乐大本营2024年精彩回顾:四年时光共欢笑
张大大谢娜力捧下的综艺新星张大大一位在娱乐圈中颇具人气的主持人他的成名之路离不开谢娜的提携回顾张大大的成名之路可以说谢娜
PingTools app
《PingTools app》是一款非常好用的实用工具软件,软件内拥有丰富的功能,包含了包括浏览器扫描等。使用非常简单,直接下载安装
抖音能看到谁搜索过自己吗?
尊敬的用户,您好。针对抖音平台是否能够查看谁搜索过自己的问题,我们需要做一些详细说明。首先,根据我们了解到的情况,在抖音
什么是人工智能“语料库”?为什么每个人都在谈论它?
编者按:比尔盖茨(Bill Gates)、Reddit 首席执行官和其他科技领袖越来越多地谈论“语料库”,现在是时候了解它是“何方神圣”
LED行业词语中英对应
1、led 灯具构成英文led 球泡灯:led bulbLed 贴片灯珠:SMD LEDLed驱动电源:led driver隔离电源:isolated driver非隔离电源:
本企业新闻

点击拨打: