Python爬虫(一)——获取网页内容

网站爬虫的难点在于分析HTML。

HTML 是整个网页的结构,相当于整个网站的框架。带“<”、“>”符号的都是属于 HTML 的标签,并且标签都是成对出现的。

HTML常见的标签如下:

<html>...</html> 表示标记中间的元素是网页
<body>...</body> 表示用户可见的内容
<div>...</div> 表示框架
<p>...</p> 表示段落
<li>...</li>表示列表
<img>...</img>表示图片
<h1>...</h1>表示标题
<a href="">...</a>表示超链接

爬虫攻防战

爬虫是模拟人的浏览访问行为,进行数据的批量抓取。当抓取的数据量逐渐增大时,会给被访问的服务器造成很大的压力,甚至有可能崩溃。换句话就是说,服务器是不喜欢有人抓取自己的数据的。那么,网站方面就会针对这些爬虫者,采取一些反爬策略。

服务器第一种识别爬虫的方式就是通过检查连接的 UserAgent来识别到底是浏览器访问,还是代码访问的。如果是代码访问的话,访问量增大时,服务器会直接封掉来访 IP。

如果不设置UserAgent就无法获取准确的网站内容。那么该如何取得User-Agent到值?

如果你使用的是Chrome浏览器,那么按F12,然后再刷新页面,在Network页面中选择All,在数据 | 全国13省市24小时内发布超200条预警,这波暴雨有多猛? | 界面新闻中找到Request Headers中找出User-Agent复制即可,其它网页也是类似操作。

 接下来我们来获取一个网站的HTML代码:

# 引用requests库
import requests

# 模拟浏览器代理
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/82.0.4051.0 Safari/537.36 Edg/82.0.425.0'}

# 赋值给url
url = 'https://www.jiemian.com/article/6345408.html'

# 将获取到的数据存到response变量中
response = requests.get(url,headers = headers)

# 打印网页源码
print(response.text)

运行结果如下:

需安装requests库,安装库的步骤可参考bs4.FeatureNotFound: Couldn‘t find a tree builder with the features you requested: lxml. Do you need_CxiuM-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值