python爬虫学习笔记(六)——抽取网页信息和链接

上一篇博客好像因为图片插入有点多,到现在还是待审核,一直不显示……所以我们继续,在(五)当中我们已经成功的从网页的特定标签和css属性中获取了我们想要的信息,主要涉及到soup.select()方法的使用。
今天,主要总结的是,将requests和BeautifulSoup4联合运用,将一个网页的信息和链接直接通过爬虫抽取出来。

首先,我们使用前面已经学习过的 requests 存取整个页面的内容并输出确认一下。(这里为了讲解内容的方便,我们获取的是csdn的首页)

import requests
res = requests.get('https://www.csdn.net/')
res.encoding = 'utf-8'
print(res.text)

然后,我们在这个的基础上加入我们的BeautifulSoup4的功能。
这个时候我们就需要辨别一下,我们所要获取的信息的class类型。

  • 首先,我们打开csdn的首页(鉴于插入太多图片要审核,这里就不放图了)。在网页内点击鼠标右键,选择审查元素(不同浏览器可能名称不同),选择查看我们所要获取的模块的class信息。
  • 我们发现我们要获取的标题信息和链接所在的class是“clearfix”。里面的标题标签为 “h2” ,链接标签为 “a” 根据我们上一篇博客所写的class标签信息的获取方法,我们改编上述代码如下:
import requests
from bs4 import BeautifulSoup
res = requests.get('https://www.csdn.net/')
res.encoding = 'utf-8'
soup = BeautifulSoup(res.text,'html.parser')

for news in soup.select('.clearfix'):  #获取class标签名
    if len(news.select('h2'))>0:  #去除标题为空的情况
        h2 = news.select('h2')[0].text  #获取标签为h2的标题
        a = news.select('a')[0]['href']  #获取标签为a的链接
        print(h2,a)
    

然后我们就可以看到我们抓取的所有标题和其对应的链接了:
python爬虫学习笔记(六)——抽取网页信息和链接_第1张图片

你可能感兴趣的:(python基础学习)