利用python进行爬虫_利用python进行爬虫

今天,我们来学习爬虫。什么是爬虫呢?

简单来讲,爬虫是指使用一定的手段自动抓取网页上的内容。它是搜索引擎的核心技术之一。

爬虫程序是我们用来自动抓取网页内容的手段。这里我们将讲解如何利用python来编写爬虫程序。

要想抓取网页上的内容,首先我们要认识网页的构成。

认识网页的构成

网页通常由三部分构成,一个网页就等于一个HTML文档:

1. HTML:结构部分,区分每个部分具体是做什么用的,比如标题、正文等,相当于卧室、厨房等

2. CSS:

,样式部分,每个部分长啥样,地板什么颜色,墙壁什么颜色

3. JavaScript:

afce6cf03809

那么,爬取一个网页,要做什么?

第一步:获取网页的内容

为了获取网页的内容,我们就需要知道服务器与本地的交换机制。

我们在浏览器输入一个链接实际上是向网站所在的服务器发出一个请求(request),服务器在收到这个请求后就会把相应的内容返回(response)给我们。

afce6cf03809

请求的方法主要有两种:get和post。我们在点击一个按钮或链接时使用的是get,发微博则是一个post行为。我们使用一个爬虫去抓取网页内容就是在模拟这些方法去获取网页内容。

我们在request时不仅仅是发送了url的信息,实际上包括你使用的设备等信息也发送过去了。我们平时使用手机打开网页时,服务器因为知道我们使用的设备而以适合手机的方式呈现页面就是这个原理。

服务器以response的形式返回给我们信息。爬虫就是要解析网页返回给我们的response信息(html文件)。

import requestsurl="http://www.tripadvisor.cn/Attractions-g294217-Activities-Hong_Kong.html"

wb_data=requests.get(url)

第二步:使用BeautifulSoup解析网页from bs4 import BeautifulSoupsoup=BeautifulSoup(wb_data.text,'lxml')

beautifulsoup有两个参数,前面是待解析的文件,后面是解析文件的库(按照什么规则解析)。

第三步:描述元素在网页中所处位置

CSS Selector:描述元素在网页中所处位置,按照元素的位置和样式去选取元素titles=soup.select('div.property_title > a[target="_blank"]')

imgs=soup.select("img[width=160]")

cates=soup.select("div.p13n_reasoning_v2")

afce6cf03809

第四步:从标签中获取想要的信息,并将信息装进数据容器中,方便查询for title, img, cate in zip(titles,imgs,cates):

data={

"title":title.get_text(),

"img":img.get('src'),

"cate":list(cate.stripped_strings)

}

运行结果:

afce6cf03809

深入学习:

1. 如何爬取多个网页?

2.需要登录怎么办?

3. 如何爬取移动设备网页内容?

参考资料:

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值