TypechoJoeTheme

至尊技术网

登录
用户名
密码

Python爬虫如何抓取网页

2025-11-12
/
0 评论
/
41 阅读
/
正在检测是否收录...
11/12

python
import requests

url = "https://example-news-site.com/article/123"
response = requests.get(url)
if response.statuscode == 200: htmlcontent = response.text
else:
print(f"请求失败,状态码:{response.status_code}")

这里我们检查了响应状态码是否为200,确保请求成功后,再获取网页的原始HTML文本。需要注意的是,部分网站会对频繁请求进行限制或反爬虫处理,因此合理设置请求头(headers)十分必要。例如添加User-Agent字段,伪装成真实浏览器访问:

python headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36' } response = requests.get(url, headers=headers)

获取到HTML内容后,下一步是解析页面结构以提取目标数据。此时BeautifulSoup库便派上了用场。同样可通过pip install beautifulsoup4安装。它能够将杂乱的HTML转化为可操作的对象树,便于定位特定标签。

python
from bs4 import BeautifulSoup

soup = BeautifulSoup(htmlcontent, 'html.parser') title = soup.find('h1').gettext().strip()
contentdiv = soup.find('div', class='article-content')
paragraphs = contentdiv.findall('p')
articletext = '\n'.join([p.gettext() for p in paragraphs])

上述代码中,我们通过标签名和CSS类名定位标题和正文区域,并逐段提取文字内容。这种基于DOM结构的选择方式灵活且直观。对于结构复杂或动态加载的页面,可能还需结合Selenium等工具驱动真实浏览器运行JavaScript脚本。

此外,在实际应用中还需注意合法性与道德边界。应遵守网站的robots.txt协议,避免对服务器造成过大压力。同时,敏感信息、个人隐私等内容不可随意抓取与传播。合理使用延时(如time.sleep())、代理IP轮换等技术手段,既能保护自身账号安全,也体现了对网络生态的尊重。

朗读
赞(0)
版权属于:

至尊技术网

本文链接:

https://www.zzwws.cn/archives/38389/(转载时请注明本文出处及文章链接)

评论 (0)