爬虫小练习01—获取网站源码
2022-11-18 09:03:47
156
{{single.collect_count}}

第一步

明确自己需要爬取的网页网址URL

https://bbs.zol.com.cn/

在这里插入图片描述

第二步

引入requests库,使用request库发起请求

import requestsurl = "https://bbs.zol.com.cn/"r = requests.get(url)r

此时若显示的状态码不是200,有可能是网站得知用户在使用爬虫程序访问, 禁止你继续访问。故手动添加Headers,在Headers中, User-Agent 项会记录用户的使用系统和浏览器版本,伪装成一个普通的用户
User-Agent查找方式:(查找自己的电脑)
在这里插入图片描述在这里插入图片描述在这里插入图片描述

修改后代码:

import requestsurl = 'http://bbs.zol.com.cn/'headers ={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36'}r = requests.get(url, headers = headers)r

在这里插入图片描述

第三步

# 查看网页的源代码r.text

若我们采集到的网页源码中的中文部分没有正常解析,有可能是网页编码格式不正确

# 这里显示出的编码是我们解析网页使用的编码r.encoding# 使用appent_encoding用软件推测网页编码r.apparent_encoding# 给encoding属性重新赋值, 用推测的编码去解析网页内容r.encoding = r.apparent_encoding

然后重新查看网页源码

完整代码

import requests# 访问的网址url = 'http://bbs.zol.com.cn/'# 字典格式的变量headers ={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36'}# 固定语法(和请求的网页相关的内容,都封装在了r中)r = requests.get(url, headers = headers)# 给encoding属性重新赋值, 用推测的编码去解析网页内容r.encoding = r.apparent_encoding#查看网页源代码r.text# 访问的消息头r.headers# 获取状态码r.status_code
回帖
全部回帖({{commentCount}})
{{item.user.nickname}} {{item.user.group_title}} {{item.friend_time}}
{{item.content}}
{{item.comment_content_show ? '取消' : '回复'}} 删除
回帖
{{reply.user.nickname}} {{reply.user.group_title}} {{reply.friend_time}}
{{reply.content}}
{{reply.comment_content_show ? '取消' : '回复'}} 删除
回帖
收起
没有更多啦~
{{commentLoading ? '加载中...' : '查看更多评论'}}