python网页爬虫:使用Beautifulsoup获取网站内容

优采云 发布时间: 2022-07-28 21:45

  python网页爬虫:使用Beautifulsoup获取网站内容

  python网页爬虫:使用Beautifulsoup获取网站内容

  简介

  网页爬虫是指可以根据某种规则抓取网上指定信息的程序。Beautifulsoup是python的一个包,可以非常非常方便的爬取静态网页的内容。本文将介绍如何快速学会使用Beautifulsoup爬取我们需要的东西。

  Beautifulsoup的安装

  Beautifulsoup是第三方包,需要自己安装,简单的直接使用pip安装即可

  如果因为各种原因安装失败,可以使用源码安装。首先到官网下载源码,然后使用以下语句安装。

  安装成功后我们可以用来获取网页内容了。

  Beautifulsoup使用方法

  Beautifulsoup使用起来比较简单,本文只介绍一种最简单的方式,通过findAll函数来查找所需要内容。Beautifulsoup使用详情可以参考中文文档:

  使用实例

  

  具体该怎么用了?我们一步一步来,首先我们要确定需要爬取内容的网站。我们想要自动获取某个NCBI的GEO数据库中的GSE57820数据的样本信息,当然最简单的办法就是到网页上复制下来,但是如果我们想要获取的信息有上百个数据的话,再一个一个去复制就比较麻烦了。

  网站规律

  想要用爬虫获取网页数据,网页内容一定要有规律,HTML语言的语法中的很多标签就是一种规律。如果经常使用GEO数据库的话,可能已经主要到,不同数据集描述的网页长得基本一样,且他们的网址也只有最后的数据ID不一样。

  比如GSE57280的网址为

  而GSE5782的网址为

  址前面内容完全一样,只有最后的ID不一样。这就为我们批量获取网页内容提供了基础。

  然后我们发现网页格式都是一样的如下

  HTML源码

  

  既然有规律,我们就去找源码上是什么规律,在网页上右击有“查看网页源代码”,点击后可以看到该网页源代码。在源码中寻找我们关心的信息。比如我们关心该数据集里面都有哪些样本且样本的信息标签是什么,我们在源码中找到对应部分信息。

  从上图我们可以看出,信息是在标签tr下面的td里面的。有了这些信息我们就可以用python抓取信息了。

  Python代码

  Beautifulsoup接收的是html文本,所以我们首先要用urllib2读取网页信息。然后再将信息送给Beautifulsoup解析。代码如下

  后面的代码可复制,但是不建议大家直接复制使用,一行一行敲一下,加深印象。

  下面我们来解析怎么代码

  刚开始的两行是导入这两个包

  import urllib2

  from bs4 import BeautifulSoup

  后面是一个循环,大家可以仔细看一下这个循环是干什么的?为什么要用这个循环。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线