首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python爬取网页数据

Python爬取网页数据

作者头像
一觉睡到小时候
发布2019-08-06 14:49:34
5.6K0
发布2019-08-06 14:49:34
举报

都说python爬网页数据方便,我们今天就来试试,python爬取数据到底有多方便

简介

爬取数据,基本都是通过网页的URL得到这个网页的源代码,根据源代码筛选出需要的信息

准备

IDE:PyCharm 库:requests、lxml

注: requests:获取网页源代码 lxml:得到网页源代码中的指定数据

搭建环境

这里的搭建环境,可不是搭建python的开发环境,这里的搭建环境是指,我们使用pycharm新建一个python项目,然后弄好requests和lxml 新建一个项目:

依赖库导入

由于我们使用的是pycharm,所以我们导入这两个库就会显的格外简单

import requests

这个时候,requests会报红线,这时候,我们将光标对准requests,按快捷键:alt + enter,pycharm会给出解决之道,这时候,选择install package requests,pycharm就会自动为我们安装了,我们只需要稍等片刻,这个库就安装好了。lxml的安装方式同理.

获取网页源代码

之前我就说过,requests可以很方便的让我们得到网页的源代码 网页就拿我的博客地址举例好了:https://coder-lida.github.io/

获取源码:

# 获取源码
html = requests.get("https://coder-lida.github.io/")
# 打印源码
print html.text

代码就是这么简单,这个html.text便是这个URL的源码

完整代码:

import  requests
import lxml

html = requests.get("https://coder-lida.github.io/")
print (html.text)

打印:

获取指定数据

现在我们已经得到网页源码了,这时就需要用到lxml来来筛选出我们所需要的信息 这里我就以得到我博客列表为例,可以找到原网页通过F12查看XPath,如图

通过XPath的语法获得网页的内容。

查看第一篇文章标题

//*[@id="layout-cart"]/div[1]/a/@title

// 定位根节点 / 往下层寻找 提取文本内容:/text() 提取属性内容:/@xxxx

import  requests
from lxml import etree

html = requests.get("https://coder-lida.github.io/")
#print (html.text)
etree_html = etree.HTML(html.text)
content = etree_html.xpath('//*[@id="layout-cart"]/div[1]/a/@title')
print(content)

查看所有文章标题

//*[@id="layout-cart"]/div/a/@title

代码:

import  requests
from lxml import etree

html = requests.get("https://coder-lida.github.io/")
#print (html.text)
etree_html = etree.HTML(html.text)
content = etree_html.xpath('//*[@id="layout-cart"]/div/a/@title')
print(content)

输出:

[' springboot逆向工程 ', ' 自己实现一个简单版的HashMap ', ' 开发中常用的  个JavaScript 单行代码 ', ' shiro 加密登录 密码加盐处理 ', ' Spring Boot构建RESTful API与单元测试  ', ' 记一次jsoup的使用 ']
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 国产程序员 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 准备
  • 搭建环境
    • 依赖库导入
    • 获取网页源代码
      • 获取指定数据
      相关产品与服务
      Serverless HTTP 服务
      Serverless HTTP 服务基于腾讯云 API 网关 和 Web Cloud Function(以下简称“Web Function”)建站云函数(云函数的一种类型)的产品能力,可以支持各种类型的 HTTP 服务开发,实现了 Serverless 与 Web 服务最优雅的结合。用户可以快速构建 Web 原生框架,把本地的 Express、Koa、Nextjs、Nuxtjs 等框架项目快速迁移到云端,同时也支持 Wordpress、Discuz Q 等现有应用模版一键快速创建。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档