第1章初见网络爬虫

本文介绍了使用Python 3和标准库urllib进行网络连接的方法,并通过BeautifulSoup库抓取和解析网页内容。文中提供了具体的代码实例,展示了如何从百度首页获取标题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我是用windows系统,虽然也想装B用下linux,但是装不住....

第1章初见网络爬虫

1.1网络连接

    本书用的是python3,现在使用的是python的标准库,urllib,用得比较多的应该是requests库。
urllib库的官方文档:https://docs.python.org/3/library/urllib.html

1.2 BeautifulSoup简介

1.2.1 安装BeautifulSoup

官方文档:https://www.crummy.com/software/BeautifulSoup/bs4/doc/

    使用pip命令安装BeautifulSoup库:你装IDLE的时候,没添加到环境变量的话,应该是要在命令行窗口进入python安装目录的script文件夹下面,再输入以下命令:
pip  install beautifusoup4

1.2.2 运行BeautifulSoup

我修改了一下书上的例子,因为我访问他那个网站太慢了。
from urllib.request import urlopen
from bs4 import BeautifulSoup
html = urlopen("http://www.baidu.com")
#书上没有写'html.parser',很多教程好像都不写这个,但是我运行就会报错,必须加上解析的。
bsObj = BeautifulSoup(html.read(),'html.parser') 

#书上输出的是<h1>,我输出<title>
print(bsObj.title)


 运行结果如下:
<title>百度一下,你就知道</title>

1.2.3  可靠的网络连接

主要是讲处理异常,让程序能一直运行下去。
from urllib.request import urlopen
from bs4 import BeautifulSoup
from urllib.error import HTTPError
def getTitle(url):
    try:
        html = urlopen(url)
    except HTTPError as e:
        return None
    try:
        bsObj = BeautifulSoup(html.read(),"html.parser")
        title = bsObj.title
    except AttributeError as e:
        return None
    return title
title =getTitle("http://www.baidu.com")
if title == None:
    print("Title could not be found!")
else:
    print(title)







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值