python网页爬虫:使用Beautifulsoup获取网站内容
优采云 发布时间: 2022-07-28 21:45python网页爬虫:使用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
后面是一个循环,大家可以仔细看一下这个循环是干什么的?为什么要用这个循环。