python爬取笔记_Python爬虫笔记一 ——爬取网页题目

爬虫是Python十分广泛的应用,有人说不会爬虫,就像没有学过Python。这个系列的文章就是爬虫入门笔记,面向的是零基础小白,手把手教你写爬虫哦。

第一步 : 获取网页

爬虫需要从Web中获取大量数据,那么第一步就是得到网页内容。我们准备用urllib模块。这个模块是Python标准库之中的,推荐大家去看一看官方文档。Google python class里也有介绍。

from urllib.request import urlopen

html = urlopen("http://www.pythonscraping.com/pages/page1.html")

print(html.read())

这样就能看到你想爬取的网页的内容了,不过这时输出的格式十分混乱。所以我们需要BeautifulSoup库进行处理。

第二步 : 格式处理

from bs4 import BeautifulSoup

bs_obj = BeautifulSoup(html.read())

print(bs_obj.title)

BeautifulSoup 可以将原本混乱的html格式转化成便于阅读和分析的格式。其中bs_obj.title访问的就是网页下tltle这个标签的内容。bs_obj.tag1.tag2访问的就是tag1下的tag2这个标签。当然如果不存在这个标签,就会报错。现在你就能爬取到网页的title了,是不是很简单,当然这只是个小例子,后面能做的还有很多。

第三步 : 异常处理和可重用

在爬取网页的过程中肯定会遇到意外情况,所以脚本设计时就要考虑这个问题。另外打码的可重用性也是很重要的。

from urllib.request import urlopen

from urllib.error import HTTPError

from bs4 import BeautifulSoup

def get_title(url):

try:

html = urlopen(url)

except HTTPError as e:

return None

try:

bs_obj = BeautifulSoup(html.read(), "lxml")

title = bs_obj.title

except AttributeError as e:

return None

return title

title = get_title("http://www.pythonscraping.com/pages/page1.html")

if title == None:

print("Title not found")

else:

print(title)

大家可以看看这个代码,应该很简单。这是最基本爬虫,之后我会再写些更复杂爬虫的笔记。如果有什么建议和想法欢迎交流。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值