html与实际查看的不一样
我在爬取51job页面时,发现查看网页源代码的html与实际呈现出来的html不一样。
实际呈现是这样的:
而查看网页源代码是这样的:
具体情况老师可以看看,我形容不出来,反正两边代码肯定是不一样的。
我想请问为什么会出现查看源代码与实际呈现代码不一样的情况?虽然也能通过正则提取,但是总归有疑惑,而且万一没有类似的js返回值,我应该怎么办呢?
60
收起
正在回答
3回答
同学,你好。
1、51job网站进行了修改,与课程讲解时结构不一样了
2、后面项目中会涉及到破解js得到数据的内容,同学可先向后学习
3、同学可根据下述代码中的方法获取岗位数据
import requests import re import json # 请求头 header = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36", } # 请求url url = "https://search.51job.com/list/010000,000000,0000,00,9,99,python,2,1.html" # 请求51job response = requests.get(url=url, headers=header) # 正则表达式 re_job_info_search = re.compile(r"window\.__SEARCH_RESULT__\s=\s(.*?)</script>") # 正则匹配返回数据 job_data = re_job_info_search.search(response.text) if job_data: # 获取岗位数据 job_data_list = json.loads(job_data.group(1)).get("engine_search_result") for job_item in job_data_list: print(job_item)
如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~
4.入门主流框架Scrapy与爬虫项目实战
- 参与学习 人
- 提交作业 107 份
- 解答问题 1672 个
Python最广为人知的应用就是爬虫了,有趣且酷的爬虫技能并没有那么遥远,本阶段带你学会利用主流Scrapy框架完成爬取招聘网站和二手车网站的项目实战。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星