无论我们通过浏览器打开网站、访问网页,还是通过脚本对URL网址进行访问,本质上都是对HTTP服务器的请求,浏览器上所呈现的、控制台所显示的都是HTTP服务器对我们请求的响应。

以打开腾讯新闻官网为例,我们在地址栏输入“http://news.qq.com/”,浏览器上呈现的是下图:

Python学习交流群:1004391443,这里有资源共享,技术解答,还有小编从最基础的Python资料到项目实战的学习资料都有整理,希望能帮助你更了解python,学习python。

按F12打开网页调试工具,选择“network”选项卡,可以看到我们对http://news.qq.com/的请求,以及http://news.qq.com/给我们的响应:

1 .打开代码编辑器,输入以下代码:

这样,就完成了一个简单的对 news.qq.com 的HTTP请求。

结果返回的是:200

再看看响应的主体消息:

data.content

结果返回了一大串编码了的HTML源码,这些HTML源码未经解码和解析,看上起很是凌乱 , 对这些凌乱的html源码进行处理,则就需要使用到BeautifulSoup模块了。

首先在使用python的第三方库之前要导入requests和BeautifulSoup,其中requests是一个方便、简洁、高效且人性化的HTTP请求库, BeautifulSoup是HTML解析库。

写这个爬虫首先要获得该网页的html代码,然后用BeautifulSoup库进行解析,然后再分析一下腾讯新闻的html结构。

1 .寻找数据特征

腾讯新闻的网址URL为:http://news.qq.com/

我们打开网页看看:

我们需要爬取的是这个页面每一条新闻的标题,鼠标右击一条新闻的标题,选择“查看元素”,出现下图的窗口:

则图片中红框的位置就是那一条新闻标题在HTML中的结构、位置和表现形式:

它上一级元素为:

运行爬取结果:

代码解析:

1)# coding:utf-8

2)import requests from bs4 import BeautifulSoup

我们引入了相关的模块,requests用于HTTP请求,BeautifulSoup用于解析HTML响应。

3)url = "http://news.qq.com/"

设置一个变量url,值为腾讯新闻的URL

4) wbdata = requests.get(url).text

使用requests.get()对URL发起GET方式的HTTP请求,并使用text()方法获取响应的文本内容,最后将其赋值给变量wbdata。

5)soup = BeautifulSoup(wbdata,'lxml')

使用BeautifulSoup对响应文本wbdata进行解析处理,这里使用的是lxml库,如何没有安装,可以使用Python自带的html.parser,效果也是一样的。

6)news_titles = soup.select("div.text > em.f14 > a.linkto")

在解析后的文本中,使用select选择器,在文本中选择指定的元素,通常我们还会使用find()和findall()方法来进行元素选择。

这一步返回的为一个列表,列表内的元素为匹配的元素的HTML源码。

对结果列表进行遍历,再从遍历的元素中提取出数据,get(“href”)表示获取属性名为“href”的属性值,get_text()表示获取标签的文本信息。

这样,一个简单的腾讯新闻爬虫就完成了

python爬取腾讯新闻_python爬虫实战――爬取腾讯新闻 !相关推荐

  1. python爬取历史天气查询_Python爬虫实战-爬取历史天气数据

    最近项目需要对合肥市历史天气数据进行爬取,分析了几个天气数据网站,最终选择天气后报网站. 将实现过程遇到的问题以及下来,供以后参考. 步骤分析 这里我使用的是Python中的requests库Beau ...

  2. python爬取小说项目概述_Python爬虫实战——爬取《斗破苍穹》全文小说(基于re模块)...

    目标 思路 手动浏览前几章节,观察url网址变化,以下为前4章节网址: 可以看到,第1和第2章节没有明显规律,第2章节以后规律明显,通过数字递加来分页.手动输入http://www.doupoxs.c ...

  3. python爬取boss直聘招聘信息_Python爬虫实战-抓取boss直聘招聘信息

    Python Python开发 Python语言 Python爬虫实战-抓取boss直聘招聘信息 实战内容:爬取boss直聘的岗位信息,存储在数据库,最后通过可视化展示出来 PS注意:很多人学Pyth ...

  4. python爬网易新闻_Python爬虫实战教程:爬取网易新闻

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: Amauri PS:如有需要Python学习资料的小伙伴可以加点击 ...

  5. python爬网易新闻_Python爬虫实战教程:爬取网易新闻;爬虫精选 高手技巧

    Python爬虫实战教程:爬取网易新闻:爬虫精选 高手技巧 发布时间:2020-02-21 17:42:43 前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有, ...

  6. python爬取多页数据_python爬虫实现爬取同一个网站的多页数据代码实例

    本篇文章小编给大家分享一下python爬虫实现爬取同一个网站的多页数据代码实例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 一.爬虫的目的 从网上获 ...

  7. python爬取链家新房_Python爬虫项目--爬取链家热门城市新房

    本次实战是利用爬虫爬取链家的新房(声明: 内容仅用于学习交流, 请勿用作商业用途) 环境 win8, python 3.7, pycharm 正文 1. 目标网站分析 通过分析, 找出相关url, 确 ...

  8. python爬取汽车之家_python爬虫实战之爬取汽车之家网站上的图片

    随着生活水平的提高和快节奏生活的发展.汽车开始慢慢成为人们的必需品,浏览各种汽车网站便成为购买合适.喜欢车辆的前提.例如汽车之家网站中就有最新的报价和图片以及汽车的相关内容,是提供信息最快最全的中国汽 ...

  9. python爬虫爬取58网站数据_Python爬虫,爬取58租房数据 字体反爬

    Python爬虫,爬取58租房数据 这俩天项目主管给了个爬虫任务,要爬取58同城上福州区域的租房房源信息.因为58的前端页面做了base64字体加密所以爬取比较费力,前前后后花了俩天才搞完. 项目演示 ...

最新文章

  1. MySQL面试题 | 附答案解析(九)
  2. undefined reference to `__android_log_print'
  3. 聊天机器人中的深度学习技术(引言)
  4. go 写文件_Pythonista 的 Go 之旅
  5. js嵌套函数内外层分别使用this关键字困局解
  6. draw9patch做一个中心不变形的图片
  7. ionic3-ng4学习见闻--(多环境方案)
  8. Realtek显示芯片方案设计 RTD2270 RTD2281 RTD2513 RTD2525 RTD2556 RTD2785 RTD2795T 2796 VGA DVI HDMI DP转LVDS
  9. 【FPGA】DS18B20温度显示
  10. 极简局域网(windows)桌面同屏软件
  11. 求助,关于MFC中的 Secur32.lib问题
  12. 什么时候需要用到RCC_APB2Periph_AFIO–复用IO时钟的使用
  13. HDU 2036 (平面几何 多边形面积)
  14. 网站制作必备-在线按钮生成器,LOGO生成器,背景生成器,ICO图标生成器,和许多在线小工具...
  15. 阿里巴巴国际站组合标题的小技巧
  16. 今天是10月24日程序员节,祝所有程序员节日快乐!
  17. 华为公司 代码编码规范
  18. C++ 输入输出(cin cout)加速/效率优化
  19. CFML----一门在国外很多大公司得到应用的语言
  20. 《缠中说禅108课》66:主力资金的食物链

热门文章

  1. 法国国立计算机科学研究所,董未名 - 中国科学院自动化研究所 -
  2. 第四章 常见 Android 文件格式(二)(classes.dex)
  3. 办公室分配方案python_公司人员最佳分配方案.doc
  4. EPON原理及关键技术
  5. 将多个MP4通过FFmpeg工具合并成一个MP4文件
  6. harbor镜像清理脚本
  7. 行业分析-全球与中国SIM卡托市场现状及未来发展趋势
  8. 螺丝头部及其相关知识点
  9. gRPC 快速体验 (2):Streaming RPC
  10. 下载到的电子书格式是epub,这种格式能否在IOS手机上打开?