当前位置: 首页 > news >正文

北京住房城乡建设委官方网站百度seo优化网站

北京住房城乡建设委官方网站,百度seo优化网站,web前端开发工作内容,axure直接做网站目录 一、 ajax的get请求豆瓣电影第一页 二、ajax的get请求豆瓣电影前十页 三、ajax的post请求肯德基官网 一、 ajax的get请求豆瓣电影第一页 目标:获取豆瓣电影第一页的数据,并保存为json文件 设置url,检查 --> 网络 --> 全部 -…

目录

一、 ajax的get请求豆瓣电影第一页

二、ajax的get请求豆瓣电影前十页

三、ajax的post请求肯德基官网


一、 ajax的get请求豆瓣电影第一页

目标:获取豆瓣电影第一页的数据,并保存为json文件

设置url,检查 -->  网络 -->  全部  --> top_list --> 标头  --> 请求URL

完整代码:

import urllib.request"""
# get请求
# 获取豆瓣电影第一页的数据,并保存为json文件
"""
url = 'https://movie.douban.com/j/chart/top_list?type=17&interval_id=100%3A90&action=&start=0&limit=20'
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 Edg/118.0.2088.76"
}# 请求对象的定制
request = urllib.request.Request(url, headers=headers)# 获取响应的数据
response = urllib.request.urlopen(request)
content = response.read().decode('utf-8')
print(content)# 数据下载到本地
with open('douban.json','w', encoding='utf-8') as file:file.write(content)# import json
# with open('douban.json','w', encoding='utf-8') as file:
#    json.dump(content, file, ensure_ascii=False)
"""
通常是因为默认情况下,json.dump() 使用的编码是 ASCII,不支持包含非ASCII字符(如中文)的文本。为了在 JSON 文件中包含中文字符,你可以指定 ensure_ascii=False 参数,以确保不将中文字符转换为 Unicode 转义序列。
"""

二、ajax的get请求豆瓣电影前十页

 目标:下载豆瓣电影前十页的数据

知识点:问题的关键在于观察url的规律,然后迭代获取数据

1.设置url

找规律

点击top_list获取第一页的request url,复制url,点击清空,下拉滚动条,再次出现top_list时复制第二页的request url,重复操作,我们可以找到规律。

 观察链接,可以看到page和start之间的关系

# url 规律
'https://movie.douban.com/j/chart/top_list?type=17&interval_id=100%3A90&action=&start=0&limit=20'
'https://movie.douban.com/j/chart/top_list?type=17&interval_id=100%3A90&action=&start=20&limit=20'
'https://movie.douban.com/j/chart/top_list?type=17&interval_id=100%3A90&action=&start=40&limit=20'
'https://movie.douban.com/j/chart/top_list?type=17&interval_id=100%3A90&action=&start=60&limit=20'# page   1  2  3  4
# start  0  20 40 60

2.定义请求对象定制的函数

def create_request(page):base_url = 'https://movie.douban.com/j/chart/top_list?type=17&interval_id=100%3A90&action=&'data={'start':(page-1)*20,'limit':20}data = urllib.parse.urlencode(data)url = base_url+dataheaders = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 Edg/118.0.2088.76"}# 请求对象的定制request = urllib.request.Request(url, headers=headers)return request

3.定义获取响应的数据的函数

def get_content(request):# 获取响应的数据response = urllib.request.urlopen(request)content = response.read().decode('utf-8')return content

4.定义下载函数

def down_load(content,page):with open('daouban_'+str(page)+'.json','w',encoding='utf-8') as file:file.write(content)

5.调用这些函数,完成数据抓取

start_page = int(input("请输入起始页码"))
end_page = int(input("请输入结束的代码"))for page in range(start_page, end_page+1):# 请求对象的定制request = create_request(page)# 获取响应的数据content = get_content(request)# 下载down_load(content,page)print(f"done_{page}")

完整代码

import urllib.request
import urllib.parse
# url 规律
'https://movie.douban.com/j/chart/top_list?type=17&interval_id=100%3A90&action=&start=0&limit=20'
'https://movie.douban.com/j/chart/top_list?type=17&interval_id=100%3A90&action=&start=20&limit=20'
'https://movie.douban.com/j/chart/top_list?type=17&interval_id=100%3A90&action=&start=40&limit=20'
'https://movie.douban.com/j/chart/top_list?type=17&interval_id=100%3A90&action=&start=60&limit=20'# page   1  2  3  4
# start  0  20 40 60# 全部工作:下载豆瓣电影前十页的数据
# 请求对象的定制
# 获取响应的数据
# 下载数据def create_request(page):base_url = 'https://movie.douban.com/j/chart/top_list?type=17&interval_id=100%3A90&action=&'data={'start':(page-1)*20,'limit':20}data = urllib.parse.urlencode(data)url = base_url+dataheaders = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 Edg/118.0.2088.76"}# 请求对象的定制request = urllib.request.Request(url, headers=headers)return requestdef get_content(request):# 获取响应的数据response = urllib.request.urlopen(request)content = response.read().decode('utf-8')return contentdef down_load(content,page):with open('daouban_'+str(page)+'.json','w',encoding='utf-8') as file:file.write(content)start_page = int(input("请输入起始页码"))
end_page = int(input("请输入结束的代码"))for page in range(start_page, end_page+1):# 请求对象的定制request = create_request(page)# 获取响应的数据content = get_content(request)# 下载down_load(content,page)print(f"done_{page}")

三、ajax的post请求肯德基官网

 目标:查询肯德基某地区餐厅前十页的信息

1.设置url

进入肯德基官网,点击餐厅查询,右键检查

网络 --> 名称 --> 标头 --> 请求URL

然后点击清空(左上角的 ∅),点击第二页,再次获取链接信息及负载中的表单数据,找规律

可以找到如下规律

pageIndex就是页码

# 第1页
# cname: 深圳
# pid:
# pageIndex: 1
# pageSize: 10# 第2页
# http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=cname
# cname: 深圳
# pid:
# pageIndex: 2
# pageSize: 10

2.定义请求对象地址的函数

def create_request(page):base_url = 'http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=cname'data={'cname': '深圳','pid': '','pageIndex': page,'pageSize': '10'}data = urllib.parse.urlencode(data).encode('utf-8')headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 Edg/118.0.2088.76"}request = urllib.request.Request(base_url, data, headers)return  request

3.获取网页源码

def get_content(request):response = urllib.request.urlopen(request)content = response.read().decode('utf-8')return content

4.下载

def download(content, page):with open ('kfc_'+str(page)+'.json','w',encoding='utf-8') as file:file.write(content)

5.调用函数

start_page = int(input('请输入起始页码'))
end_page = int(input('请输入结束页码'))
for page in range(start_page, end_page+1):# 请求对象定制response = create_request(page)# 获取网页源码content = get_content(response)# 下载1download(content, page)

完整代码:

import urllib.request
import urllib.parse# 第1页
# cname: 深圳
# pid:
# pageIndex: 1
# pageSize: 10# 第2页
# http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=cname
# cname: 深圳
# pid:
# pageIndex: 2
# pageSize: 10def create_request(page):base_url = 'http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=cname'data={'cname': '深圳','pid': '','pageIndex': page,'pageSize': '10'}data = urllib.parse.urlencode(data).encode('utf-8')headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 Edg/118.0.2088.76"}request = urllib.request.Request(base_url, data, headers)return  requestdef get_content(request):response = urllib.request.urlopen(request)content = response.read().decode('utf-8')return contentdef download(content, page):with open ('kfc_'+str(page)+'.json','w',encoding='utf-8') as file:file.write(content)start_page = int(input('请输入起始页码'))
end_page = int(input('请输入结束页码'))
for page in range(start_page, end_page+1):# 请求对象定制response = create_request(page)# 获取网页源码content = get_content(response)# 下载1download(content, page)

参考

尚硅谷Python爬虫教程小白零基础速通(含python基础+爬虫案例)

http://www.15wanjia.com/news/55684.html

相关文章:

  • 重庆网站设计最加科技百搜网络科技有限公司
  • asp 网站开发 软件整站seo定制
  • 中山市做网站实力简述网站建设的流程
  • 网站模板熊猫关键词工具官网
  • laravel 做中英文网站台湾搜索引擎
  • 简述企业网站建设的主要步骤百度站长平台链接
  • 软件开发和网站开发网站推广如何引流
  • 网站建设项目运作的可行性google 推广优化
  • 网站制作服务公司网站建设公司是怎么找客户
  • java做的网站php策划方案怎么做
  • 山西网站备案多久百度关键词排名点
  • 做亚马逊联盟一定要有网站吗网络宣传怎么做
  • 公安局网站建设方案网站访问量统计工具
  • 企业网站推广名词解释seo网站优化方案案例
  • 广州网站建设吧网站优化是什么
  • 建站塔山双喜怎么自己做网页
  • 在网站上做远程教育系统多少钱宁波关键词优化品牌
  • 商业网站设计与制作网站怎么添加外链
  • 政府网站解决方案提高工作效率8个方法
  • 云服务器可以做网站吗爱站网长尾关键词挖掘工具福利片
  • 西安网站建设seo优化企业邮箱账号
  • 网站可以同时做竞价和优化吗整合营销传播策划方案
  • 安徽省交通运输厅门户网站小网站关键词搜什么
  • 随州网站建设价格电商营销策略
  • wordpress xml 导入失败seo优化服务
  • 福州网站建设案例搜狗搜索排名优化
  • 平台设计是什么意思seo推广外包报价表
  • 网站建设周期柳州网站建设哪里有
  • 外贸网站小语种如何推广自己产品
  • 网页设计与网站建设课程设计黑客入侵网课