爬取网站练习

发布时间:2022-07-05 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了爬取网站练习脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

数据加载方式(重要):

1.常见的加载方式:@H_360_3@

  朝服务器发请求 页面数据直接全部返回并加载"""如何验证数据是直接加载还是其他方式  浏览器空白处鼠标右键 点击查看网页码 在源码界面搜索对应的数据    如果能收到就表示该数据是直接加载的(你可以直接发送相应请求获取)"""

2.内部js代码请求:

先加载一个页面的框架 之后再朝各项数据的网址发送请求获取数据"""如何查找关键性的数据来源 需要借助于浏览器的network监测核对内部请求  请求的数据一般都是json格式"""

 

爬取天气数据:

# 1.拿到页面之后先分析数据加载方式  ‘’‘看是动态加载还是直接加载’‘’# 2.发现历史数据并不是直接加载的   统一的研究方向>>>:利用network查看# 3.查找到可疑的网址并查看请求方式   如果是get请求那么可以直接拷贝网址在浏览器地址栏访问

爬取网站练习

  

 

 

 

# 4.将请求获得的数据稍作分析   https://www.bejson.COM/# 5.利用requests模块朝发现的地址发送get请求获取json数据# 6.可以研究历史天气数据的url找规律 即可爬取指定月份的数据

 

import requestsimport pandas

 

res = requests.get( 'http://tianqi.2345.com/Pc/GetHistory?areainfo%5BareaId%5D=60010&areaInfo%5BareaTyPE%5D=2&date%5Byear%5D=2021&date%5Bmonth%5D=6')# PRint(res.json()) # 反序列化成字典之后 比对一下数据在哪个键值对中real_data_htML = res.json().get('data')

 

爬取百度翻译

1.在查找单词的时候页面是在动态变化的2.并且针对单词的详细翻译结果数据是动态请求获取的3.打开network之后输入英文查看内部请求变化 sug请求频率固定且较高4.研究sug请求发现每次输入的单词都会朝固定的一个网址发送post请求 并且请求体携带了改单词数据import requests

keyword = input('请输入你需要查询的单词>>>:')res = requests.post('https://fanyi.baidu.com/sug', data={'kw': keyword} )data_dict = res.json()data_list = data_dict.get('data')for d in data_list: print(d)

爬取网站练习

 

 

爬取药品许可证

# 需求:爬取药品企业生产许可证详细信息1.先明确是否需要爬取页面数据 如果需要则先查看数据的加载方式2.通过network查看得知数据是动态加载的 网页地址只会加载一个外壳3.通过network点击fetch/xhr筛选动态获取数据的地址和请求方式4.利用requests模块发送相应请求获取数据 之后再分析5.利用浏览器点击详情页查找关键数据 http://scxk.nmpa.gov.cn:81/xk/ITownet/portal/dzpz.jsp?id=911d4f256300476abb78012427d38c9d6.由于我们需要爬取详情页的数据所以要验证数据的加载方式7.详情页核心数据也是动态加载的 发现是post请求并携带了一个id参数 id: 911d4f256300476abb78012427d38c9d8.通过比对得知id数据与第一次爬取的公司简介里面的id一致 从而得出结论 循环获取格式简介id 然后发送post请求 获取每个公司的详细数据import requests

res = requests.post('http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsList', data={ "on": "true", "page": 1, "pageSize": 15, "productName":'', "conditionType": 1, "applyname":'', "applysn": '' } )# data_dict = res.json()# data_list = data_dict.get('list')# 上述两步合成一步data_list = res.json().get('list')"""数据详情页地址:http://scxk.nmpa.gov.cn:81/xk/itownet/portal/dzpz.jsp?id=911d4f256300476abb78012427d38c9d核心数据请求地址:http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsById核心数据请求体参数:id:911d4f256300476abb78012427d38c9d"""# 循环获取格式id值for d in data_list: # 字段取值 获取id值 ID = d.get("ID") # 发送网络请求 res1 = requests.post('http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsById', data={'id':ID} ) # 获取数据结果 data_dict = res1.json() '''结合实际需求 保存相应的数据 文件操作 数据库'''

 

脚本宝典总结

以上是脚本宝典为你收集整理的爬取网站练习全部内容,希望文章能够帮你解决爬取网站练习所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。