嘉兴市人才网即时招聘栏目Ajax动态翻页爬虫练习
声明:代码仅供技术学习交流,不作其他用途
即时招聘:https://www.jxrsrc.com/Index/MoreInfo.aspx?TypeID=34
打开页面后拉到底下点下一页翻页发现浏览器中的地址没有发生变化,分析后这个网站是用ASP.NET,并且采用AJAX动态刷新。所以真正的动态页面地址需要通过开发者工具分析查找,F12打开开发者工具或者鼠标右键检查元素。
上图划红线的Ruquest URL就是真实的请求地址,并且请求方法是POST方法
我们看到上面Form Data里的参数是实际页面的参数,分别是页码,关键字和类型ID,请求头就是上方的内容。
import requests
from lxml import html
import time
import random
#下面的url就是实际地址
url = "https://www.jxrsrc.com/Index/Ashx/MoreInfo2.ashx"cookie = "ASP.NET_SessionId=r2rwx4rzl4xu11e3s5131qjn; ASPSESSIONIDSGCDABQQ=GHDEIGBAJIGFIFHNICDEPCGF; Hm_lvt_8779a80c84018cd39c87c4dd911d90ba=1603981533,1604155293,1604417018,1604417059; Hm_lpvt_8779a80c84018cd39c87c4dd911d90ba=1604417066"
page_num = 0
#模拟浏览器信息
ugList = ["Mozilla/5.0(compatible;MSIE9.0;WindowsNT6.1;Trident/5.0","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","Opera/9.80(Windo wsNT6.1;U;en)Presto/2.8.131Version/11.11","Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1",
]
#构造浏览器请求头
headers = {"User-Agent":random.choice(ugList),"Host":"www.jxrsrc.com","Connection":"keep-alive","Accept":"*/*","Referer":"https://www.jxrsrc.com/Index/MoreInfo.aspx?TypeID=34","Accept-Encoding":"gzip, deflate, br","Accept-Language":"zh-CN,zh;q=0.9"}
page = int(input("您想爬取几页的内容:"))
try:for page_num in range(page): #括号里是翻页的页数#获取formdata页面参数的内容time.sleep(1) #强制等待,太快会被反爬page_num += 1formdata = {"PageIndex":page_num, "KeyWord": "","typeID":34}r = requests.post(url,data=formdata,headers=headers)preview_html = html.fromstring(r.content.decode("utf-8"))#xpath提取相关内容list_url = preview_html.xpath("//dl//dt//a//@href")print("--------------------------------------------这是第"+str(page_num)+"页-----------------------------------------")print(list_url) #输出是一个每页地址列表,测试输出3页试一下
except Exception as e:print(e)
如图所示:
大功告成,接下来就是请求每一页获取内容,这里不作详细解释,有空再单独写一篇,主要还是思路。
嘉兴市人才网即时招聘栏目Ajax动态翻页爬虫练习相关推荐
- 太大如何翻页固定表头_外行学 Python 爬虫 第六篇 动态翻页
前面几篇文章,初步完成了从网络请求.数据解析.数据存储的整个过程,完成了一个爬虫所需的全部功能.但是通过对数据库中数据的分析会发现数据库中的元件数量比网站上的元件数量少了很多.前面的实现过程通过解析网 ...
- Scrapy爬图片入门——静态网站翻页爬虫
接上文爬图片下载: Scrapy爬图片入门--静态网站_ahc176的博客-CSDN博客 翻页: 通过观察发现url变化是非常有规律的. 修改image.py: 代码: import scrapyfr ...
- Scrapy框架的学习(5.scarpy实现翻页爬虫,以及scrapy.Request的相关参数介绍)
1. 创建爬虫项目 : scrapy startporject tencent 然后进入到项目中: cd tencent 创建爬虫:scrapy genspider tencent_spide ...
- Scrapy框架的学习(9.Scrapy中的CrawlSpider类的作用以及使用,实现优化的翻页爬虫)
1.CrawlSpider类通过一些规则(rules),使对于链接(网页)的爬取更具有通用性, 换句话说,CrawlSpider爬虫为通用性的爬虫, 而Spider爬虫更像是为一些特殊网站制定的爬虫. ...
- [Python Scrapy爬虫] 二.翻页爬取农产品信息并保存本地
前面 "Python爬虫之Selenium+Phantomjs+CasperJS" 介绍了很多Selenium基于自动测试的Python爬虫程序,主要利用它的xpath语句,通过分 ...
- 全屏时钟软件Linux,翻页时钟下载-翻页时钟安卓版下载v1.2.3-Linux公社
翻页时钟中有很丰富的时钟样式可以供用户随心切换,这上面的时间也是十分的准确哦,支持横屏.竖屏两种方式展现,更有酷炫的背景等着用户来更换,也能够自定义喜欢的图片进行背景设置,非常人性化的功能,翻页时钟中 ...
- 爬虫如何翻页 爬取豆瓣排名250电影
1.爬虫翻页问题: 正在做爬虫练习:爬取豆瓣电影排名前250的电影,但一页只显示排名前25的电影,爬取250部电影就遇到了爬虫翻页的问题.记录下,希望帮助到正在学习的小伙伴! 2.爬虫翻页解决思路: ...
- python爬虫翻页_Scrapy爬虫案例01——翻页爬取
之前用python写爬虫,都是自己用requests库请求,beautifulsoup(pyquery.lxml等)解析.没有用过高大上的框架.早就听说过Scrapy,一直想研究一下.下面记录一下我学 ...
- python翻页功能url不变_爬取Ajax动态加载和翻页时url不变的网页
这两天投了一家公司的爬虫实习生,笔试题是完成一个爬虫的小需求.网站没有什么反爬的高级技巧.但是有非常常见的,并不是针对我们爬虫的,却让我们新手很难理解的ajax动态加载技术和乍一看不明白的翻页时不变的 ...
- ecshop后台实现用ajax动态修改/更新用户评论的时间
2019独角兽企业重金招聘Python工程师标准>>> 刚开始要实现在后台修改用户评论的添加时间,想用表单提交的方式,但是看了后台商品列表页的用ajax实现动态修改,我就萌生了这个用 ...
最新文章
- MySql各种锁机制的学习
- 【RecyclerView】 九、为 RecyclerView 设置不同的布局样式
- synergy在Windows和Linux下使用全攻略(多台PC共享一套键盘鼠标)
- Pycharm中代码自动换行(亲测)
- Codeforces 583 DIV2 Robot's Task 贪心
- oracle 没有debug权限,开启Oracle的debug级别日志
- 线段树(区间合并) HDOJ 3308 LCIS
- android阴影edittext,android – 将阴影效果添加到EditText字段
- HTML5小试 双人贪吃蛇
- MSSQL 2000安装 图解
- 重磅!首届倍增科学技术研究院高级研究员研讨会胜利召开
- Flutter 3.0 极光推送
- 微博营销的价值和优缺点
- 当你的职业是一名IT项目经理
- 使用node上传到腾讯云对象存储cos---转载
- Nuke Essential Training Nuke基本训练 Lynda课程中文字幕
- Kali Linux 折腾笔记
- 帧计算机术语,请解释一个计算机名词:“帧”,请分别解释“帧”的名称/用途/分类,...
- 当千元机遇上GPU Turbo,红海市场会再起波澜吗?
- 二进制开关理解和实现
热门文章
- 计算机导论的计算题,计算机导论复习题(选择部分)汇总
- 运用计算机辅助教学,如何的运用计算机辅助教学.doc
- 微型计算机硬件认识和拆装,微型计算机系统硬件组成与外设认识.doc
- 丁可以组什么词_“一”可以组什么词?落语读书会学期总结
- springboot mongo查询固定字段_SpringBoot中文参考指南(2.1.6)32、使用 NoSQL 技术
- java写培根披萨和海鲜披萨_java子类继承父类实例-披萨的选择实现代码
- android flag,Android 屏幕锁 - FLAG_KEEP_SCREEN_ON
- easypoi 表头数据导入_小窗通知丨关于金关二期加工贸易导入接口更新的通知
- python编辑数学函数图形_Python 绘制你想要的数学函数图形
- 烟道机器人_力荐顺义区清洗烟道价格多少钱值得信赖