前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >爬虫练习题(一)

爬虫练习题(一)

作者头像
设计者
发布2022-12-20 09:12:45
4960
发布2022-12-20 09:12:45
举报

目标网站:https://www.1ppt.com/moban/ 爬取要求: 1、 翻页爬取这个网页上面的源代码 2、 并且保存到本地,注意编码 """ ''' 1.分析网站: https://www.1ppt.com/moban/ 第一页 https://www.1ppt.com/moban/ppt_moban_2.html 第二页 https://www.1ppt.com/moban/ppt_moban_3.html 第三页

代码语言:javascript
复制
import urllib.request

start = int(input("输入起始页"))  # 转int
end = int(input("输入结束页"))
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36'
}
for n in range(start, end + 1):
    url = 'https://www.1ppt.com/moban/ppt_moban_{}.html'.format(n)
    print(url)
    req = urllib.request.Request(url, headers=headers)  # 实例化请求对象
    response = urllib.request.urlopen(req)  # 发送请求的方法
    with open(f'第{n}页.html', 'a', encoding='gb2312') as f:
        f.write(response.read().decode('gb2312'))

首先,我们打开网址,右击点开查看网页源代码,或者是右击检查抓包,Network 网络是展现网页数据包的地方,找网址相同的数据包,点开 response 响应内容,这也是页面源码。

我们在 pycharm 新建文件,第一步分析网页抓包,手动翻页,找到 url 规律,把网页链接拿下来复制并粘贴在 pycharm 工程文件中,我们可以看到第一页和后面的网页链接不一致,这里可以手动加上,后面可能会需要用到判断。

然后,我们用 import 导入 urllib.request 模块,Ctrl+Alt+L 可以让代码变规范。

构建 url,可以用循环,也可以一页一页构建,网址之前是 http(80)https(443)协议,括号内为端口,紧接着是域名,“?”后是 get 请求携带的一些参数,kw 搜索内容,pn 为页面,其他的参数可能不怎么影响爬取进程,就可以删掉。构建好 URL 后,可以打印

发起请求

zlf = urllib.request.Request(url,headers=headers),构建请求对象,实例化请求对象,并用变量接收

response = urllib.request.urlopen(zlf)

拿到响应内容,最后,用 with open 保存,文件名,'w'写入(模式默认只读'r'),encoding(编码格式,怎么解码怎么写),as 后面取别名,

read 把数据以字节形式提取出来,后面可以转码用 decode

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档