pythonrequests爬虫使用教程(Python 通过requests实现腾讯新闻抓取爬虫的方法)
pythonrequests爬虫使用教程
Python 通过requests实现腾讯新闻抓取爬虫的方法最近也是学习了一些爬虫方面的知识。以我自己的理解,通常我们用浏览器查看网页时,是通过浏览器向服务器发送请求,然后服务器响应以后返回一些代码数据,再经过浏览器解析后呈现出来。而爬虫则是通过程序向服务器发送请求,并且将服务器返回的信息,通过一些处理后,就能得到我们想要的数据了。
以下是前段时间我用python写的一个爬取tx新闻标题及其网址的一个简单爬虫:
首先需要用到python中requests(方便全面的http请求库)和 beautifulsoup(html解析库)。
通过pip来安装这两个库,命令分别是:pip install requests 和 pip install bs4 (如下图)
先放上完整的代码
|
# coding:utf-8 import requests from bs4 import beautifulsoup url = "http://news.qq.com/" # 请求腾讯新闻的url,获取其text文本 wbdata = requests.get(url).text # 对获取到的文本进行解析 soup = beautifulsoup(wbdata, 'lxml' ) # 从解析文件中通过select选择器定位指定的元素,返回一个列表 news_titles = soup.select( "li.text > em.f14 > a.linkto" ) # 对返回的列表进行遍历 for n in news_titles: title = n.get_text() link = n.get( "href" ) data = { '标题' :title, '链接' :link } print (data) |
首先引入上述两个库
|
import requests from bs4 import beautifulsoup |
然后get请求腾讯新闻网url,返回的字符串实质上就是我们手动打开这个网站,然后查看网页源代码所看到的html代码。
|
wbdata = requests.get(url).text |
我们需要的仅仅是某些特定标签里的内容:
可以看出,每条新闻链接、标题都在<li class="text">标签的<em class="f14 124">标签下
之后我们将刚刚请求得到的html代码进行处理,这时候就需要用到beautifulsoap库了
|
soup = beautifulsoup(wbdata, 'lxml' ) |
这一行的意思是对获取的信息进行解析处理,也可以将lxml库换成html.parser库,效果是相同的
|
news_titles = soup.select( "li.text > em.f14 > a.linkto" ) |
这一行是利用刚刚经过解析获取的soup对象,选择我们需要的标签,返回值是一个列表。列表中存放了我们需要的所有标签内容。也可以使用beautifulsoup中的find()方法或findall()方法来对标签进行选择。
最后用 for in 对列表进行遍历,分别取出标签中的内容(新闻标题)和标签中href的值(新闻网址),存放在data字典中
|
for n in news_titles: title = n.get_text() link = n.get( "href" ) data = { '标题' :title, '链接' :link } |
data存放的就是所有的新闻标题和链接了,下图是部分结果
这样一个爬虫就完成了,当然这只是一个最简单的爬虫。深入爬虫的话还有许多模拟浏览器行为、安全问题、效率优化、多线程等等需要考虑,不得不说爬虫是一个很深的坑。
python中爬虫可以通过各种库或者框架来完成,requests只是比较常用的一种而已。其他语言中也会有许多爬虫方面的库,例如php可以使用curl库。爬虫的原理都是一样的,只是用不同语言、不同库来实现的方法不一样。
以上这篇python 通过requests实现腾讯新闻抓取爬虫的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持开心学习网。
原文链接:https://blog.csdn.net/guangmingsky/article/details/72844395
- 怎么查看python的安装路径(查看python安装路径及pip安装的包列表及路径)
- 笨办法学python3目录(如何愉快地迁移到 Python 3)
- python删除数据框重复变量(Python3删除排序数组中重复项的方法分析)
- python实时输出图像(Python给图像添加噪声具体操作)
- python处理水印(Yii 使用intervention/image拓展实现图像处理功能)
- python 验证码识别模块([机器视觉]使用python自动识别验证码详解)
- python代码计算一个月多少天(Python计算时间间隔精确到微妙的代码实例)
- python的解释器怎么安装其他版本(在Python文件中指定Python解释器的方法)
- python对mysql数据分析(python使用adbapi实现MySQL数据库的异步存储)
- 如何用python爬取最新电影(使用python实现抓取腾讯视频所有电影的爬虫)
- python正则表达式该怎么学习(Python面向对象总结及类与正则表达式详解)
- python3的循环怎么用(对Python3 goto 语句的使用方法详解)
- ipython命令行查看文件夹(对IPython交互模式下的退出方法详解)
- pythonqt入门教程(使用python实现mqtt的发布和订阅)
- thinkphp实战教程之博客技术学习(python3编写ThinkPHP命令执行Getshell的方法)
- python数组矩阵操作(Python矩阵和Numpy数组的那些事儿)
- 云南旅游攻略(云南旅游攻略5天攻略)
- 收藏 春节假期,这些景区巨划算(收藏春节假期这些景区巨划算)
- 景区游玩,这些安全知识要牢记(这些安全知识要牢记)
- 各地出招烘 热 旅游(各地出招烘热旅游)
- 2021款起亚霸锐到店了 更换车标,竞争宝马X5有戏吗(2021款起亚霸锐到店了)
- 新款起亚霸锐实拍,比普拉多气派,配3.0T V6,引入国内或许能大卖(新款起亚霸锐实拍)
热门推荐
- dedecms字数代码(用dedecms实现拼音显示文章标题页文件名的方法)
- php如何将数组清空(PHP实现数组向任意位置插入,删除,替换数据操作示例)
- 如何建立ftp服务器(FTP是什么?如何搭建FTP服务器?)
- 面试的最后,HR问你还有什么问题要问,该怎么回答?
- 云主机和云虚拟主机有什么区别(什么是云主机?云主机是独立空间吗?)
- mysql主从同步失败原因(mysql 主从复制如何跳过报错)
- sql server 新函数(SQL Server分隔函数实例详解)
- python后端生成的pdf文件(Python实现截取PDF文件中的几页代码实例)
- 怎么知道sqlyog连接的哪个mysql(SQLyog连接MySQL8.0报2058错误的完美解决方法)
- vsftpd详细配置(vsftpd匿名用户上传和下载的配置方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9