python爬网易新闻_爬虫入门:如何用python爬取网易新闻?
脚本之家
你与百万开发者在一起
作者:江一
出品 | 脚本之家(ID:jb51net)
网络爬虫是帮助我们抓取互联网上有用信息的利器。如果你有一点python基础,实现一个简单的爬虫程序并不难。今天,我们以一个实际的例子——爬取网易新闻,重点介绍使用 BeautifulSoup 对HTML进行解析处理。
1.寻找数据特征
网易新闻的网址 URL 为:https://www.163.com/我们打开网页看看:
我们需要爬取这个页面每一条新闻的标题,鼠标右击一条新闻的标题,选择“检查元素”, 出现下图的窗口:
图片中蓝框的位置就是那一条新闻标题在 HTML 中的结构、位置和表现形式: ,它上一级元素为:,再上一级元素为:
再上一级元素为:
2.编写爬取代码
首先呈上完整的代码:
运行程序,获取到的部分结果为如下所示:
这正是我们所需要的。虽然代码很简单,但还是做一点点讲解,方便刚接触的同学理解。
3.逐行解析代码
# coding:utf-8
首先,我们定义了文件的编码形式为 UTF-8,以避免一些编码错误导致中文乱码。importrequests
frombs4importBeautifulSoup
然后,我们引入了相关的模块,requests 用于 HTTP 请求,BeautifulSoup 用于解析 HTML 响应。
url ='https://www.163.com/'
设置一个变量 url,值为网易新闻的 URL 。wbdata = requests.get(url).text
使用 requests.get()对 URL 发起 GET 方式的 HTTP 请求,并使用 text()方法获取响应的文本 内容,最后将其赋值给变量 wbdata。
soup =BeautifulSoup(wbdata,'lxml')
使用 BeautifulSoup 对响应文本 wbdata 进行解析处理,这里使用的是 lxml 库,如何没有安 装,可以使用 Python 自带的 html.parser,效果也是一样的。news_titles = soup.select('div>ul>li>a')
在解析后的文本中,使用select选择器,在文本中选择指定的元素,通常我们还会使用find() 和 findall()方法来进行元素选择。这一步返回的为一个列表,列表内的元素为匹配的元素 的 HTML 源码。
forninnews_titles:
title = n.get_text()
link = n.get('href')
data = {
'标题':title,
'链接':link
}
print(data)
对结果列表进行遍历,再从遍历的元素中提取出数据,get('href')表示获取属性名为“hre的属性值,get_text()表示获取标签的文本信息。这样,一个简单的网易新闻爬虫就完成了。
如果想学习更多 requests 模块和 BeautifulSoup 模块的内容,它们的官方文档将是最好的指南。
参考文档:1.requests 官方文档(中文):
http://docs.python-requests.org/zh_CN/latest/
2.BeautifulSoup 文档(中文):
https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html
作者:江一
python爬网易新闻_爬虫入门:如何用python爬取网易新闻?相关推荐
- 如何用python做词云图_科学网—如何用Python做词云?(基础篇视频教程) - 王树义的博文...
只需要花10几分钟,跟着教程完整做一遍,你就能自己用Python做出词云了. <如何用Python做词云?>图文版发布于2017年6月,是我数据科学系列教程中的第一篇. 目前仅简书一个平台 ...
- python机器学习及实践_机器学习入门之《Python机器学习及实践:从零开始通往Kaggle竞赛之路》...
本文主要向大家介绍了机器学习入门之<Python机器学习及实践:从零开始通往Kaggle竞赛之路>,通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助. <Python 机 ...
- python怎么画人像_教你如何用Python画出心目中的自己
原标题:教你如何用Python画出心目中的自己 引言:人脸图像的生成在各个行业有着重要应用,例如刑事调查.人物设计.教育培训等.然而一幅逼真的人脸肖像,对于职业画家也要至少数小时才能绘制出来:对于从未 ...
- 爬虫python代码网易云_爬虫实战(二) 用Python爬取网易云歌单
最近,博主喜欢上了听歌,但是又苦于找不到好音乐,于是就打算到网易云的歌单中逛逛 本着 "用技术改变生活" 的想法,于是便想着写一个爬虫爬取网易云的歌单,并按播放量自动进行排序 这篇 ...
- 图片链接用src不能被爬虫爬到吗_爬虫:带你一键爬取王者荣耀英雄皮肤壁纸
一.前言 王者荣耀这款手游,想必大家都玩过或听过,游戏里英雄有各式各样的皮肤,制作得很精美,有些拿来做电脑壁纸它不香吗.本文带你利用Python爬虫一键下载王者荣耀英雄皮肤壁纸. 1. 目标 创建一个 ...
- python时钟编程教程_编程入门16:Python时间操作
Python标准库包含有一个time模块用于基本的时间处理,其中的time()函数会读取系统时钟并返回float类型的Unix纪元"时间戳"(Timestamp),即当前时间距离国 ...
- python tkinter treeview 高亮_满满的成就感~如何用python让你的想法拥有可操作性?(一)...
想法:用python+tkinter+pypyodbc+xlrd+xlwt实现从已有数据库调取你想要的数据,生成EXCEL.xls文件. 生活处处有Idea 一.需求分析. 完成的界面如下图,左上方通 ...
- python训练营 朋友圈_教你如何用python来弄一个高逼格的朋友圈
小编今天要给大家介绍一个Python库: PIL(Python Image Library) 下面我们用一个实际的例子 看看50行python代码可以做什么神奇的事情 这是小编发的一个朋友圈 切图前是 ...
- python制作自动化办公_教你如何用Python制造一款自动化办公软件脚本!下班,下班...
1 PySimpleGUI安装 在命令行/终端输入:pip install pysimplegui,等待安装完成后,进入python环境,输入import PySimpleGUI回车无误后,确认安装成 ...
- python如何画圆环_教你如何用Python制作出好看的动态圆环图、饼图
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 欢迎点击右上角关注小编,除了分享技术文章之外还有很多福利,私信学习资料可以 ...
最新文章
- 使用Mocks进行需求驱动的软件开发
- 企业实战_21_MyCat_keepalived 安装配置验证
- redission java_Java注解如何基于Redission实现分布式锁
- 计算特征矩阵及哈希值(含OpenCV代码)
- 【洛谷P4315】月下“毛景树”(树链剖分)
- Linux 命令(94)—— env 命令
- 对于NAS,IP SAN以及iSCSCI SAN存储的一些认识和理解
- mschart控件使用详解
- OTDR使用中测试与误差原因分析
- 云计算机房架构图,云计算架构技术与实践
- php短信验证码随机数_深入解读PHP短信验证码原理
- 英飞凌XC2000系列单片机FLASH加解密策略
- 原生js实现点击按钮显示/隐藏图片
- 【VESC】一.配置开发环境、烧录固件
- 如何运用计算机教学教学的收获,计算机教学中行动感悟法的应用
- Python基础复习--print()函数、转义符、变量命名
- kubernetes 入门介绍
- 盘点 yMatrix 创业的530天:1.01^530,苟日新,日日新,又日新
- Java应用系统监控看这篇就够了
- 自己写的小型静态服务器
热门文章
- android百度地图导航功能开发,Android百度地图应用开发基础知识
- Unity3D Odin Inspector 简单介绍与入门
- ivx动效按钮 基础按钮制作 01
- c语言bmp图片读取融合保存,BMP_READ_WRITE 完全用C语言实现BMP图像的读取和保存 - 下载 - 搜珍网...
- 数据中台之数据集成平台的数据抽取
- 什么是计算机剪贴板介绍,剪贴板功能介绍
- 什么是计算机剪贴板介绍,剪贴板在哪里,详细教您如何打开电脑剪贴板
- iperf 服务端发送数据_iperf 流量测试
- Head First 系列书籍分享,Head First Python (中文版·第2版),Head First Java(中文版):第二版——涵盖Java 5.0...
- 关于TRACERT和TTL