抓取网页数据(python爬网页数据方便,python爬取数据到底有多方便 )

优采云 发布时间: 2021-10-13 15:19

  抓取网页数据(python爬网页数据方便,python爬取数据到底有多方便

)

  据说python抓取网页数据方便,今天来试试,python抓取数据有多方便?

  简介

  爬取数据,基本上是通过网页的URL获取这个网页的源码,根据源码过滤出需要的信息

  准备

  IDE:PyCharm 库:请求、lxml

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

  设置环境

  这里的setup环境不是搭建python的开发环境。这里的设置环境是指我们用pycharm新建一个python项目,然后用requests和lxml新建一个项目:

  依赖库导入

  由于我们使用的是pycharm,所以导入这两个库会很简单。

  import requests

  此时,requests 会报红线。这时候我们将光标指向requests,按快捷键:alt+enter,pycharm会给出解决方案。这时候选择安装包请求,pycharm会自动安装好了,我们只需要稍等片刻就可以安装库了。 lxml的安装方法是一样的。

  获取网页源代码

  之前说过requests可以很方便我们获取网页的源码。对于网页,以我的博客地址为例:

  获取源代码:

  # 获取源码

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

# 打印源码

print html.text

  代码就这么简单,这个html.text就是这个网址的源码

  完整代码:

  import requests

import lxml

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

print (html.text)

  打印:

  获取指定数据

  现在我们有了网页的源代码,我们需要使用lxml过滤掉我们需要的信息。这里我以我的博客列表为例。可以通过F12找到原网页并查看XPath,如图

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

  查看第一篇文章文章title

  //*[@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的使用 ']

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线