Python爬取网站的子链接

Python作业题:
编程实现:利用requests爬虫库和beautifulsoup4解析库实现指定网站文章标题和对应网址爬取。

已知:

爬取网址:信息学院首页

编程实现爬取"计算机科学系"在"信息学院"主页上的网址

首先导包,我们需要requests(登录网站),BeatifulSoup(解析),urljoin(其实也可以不用,用于网址连接起来)
其次我们准备好url,就是华中农业大学信息学院网址。
然后利用requests得到结果respose,用utf-8编码,否则会得到一堆乱码。
如果我们成功访问(也就是返回的状态码为200),就可以继续提取信息了。
利用htmlparser解析这个文本,我们来看一看信息学院网站源码长什么样
在这里插入图片描述
在这里插入图片描述
在第二张图里面我们轻松地找到了计算机科学系的位置,它前面的链接即为作业的答案,所以我们只需要在利用bs生成的soup对象里面找到“计算机科学系”即可。
下面是代码

import requests
from urllib.parse import urljoin 
from bs4 import BeautifulSoup

url = 'http://coi.hzau.edu.cn'

response = requests.get(url)
response.encoding='utf-8'
if response.status_code == 200:
    soup = BeautifulSoup(response.text, 'html.parser')
    link=soup.find('a',string="计算机科学系")
    if link:
        faculty_url = urljoin(url, link['href']) 
        print(faculty_url)
    #paragraphs = soup.find_all('a')
else:
    print('请求失败,状态码:', response.status_code)
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值