5分钟,6行代码教你写爬虫!(python)[通俗易懂]

5分钟,6行代码教你写爬虫!(python)[通俗易懂]5分钟,6行代码教你写会爬虫!适用人士:对数据量需求不大,简单的从网站上爬些数据。好,不浪费时间了,开始!先来个例子:输入以下代码(共6行)importrequestsfromlxmlimporthtmlurl=’https://movie.douban.com/’#需要爬数据的网址page=requests.Session().get(url)tree=html.f

大家好,又见面了,我是你们的朋友全栈君。

节约时间,不废话介绍了,直接上例子!!!输入以下代码(共6行)

import requests
from lxml import html
url='https://movie.douban.com/' #需要爬数据的网址
page=requests.Session().get(url) 
tree=html.fromstring(page.text) 
result=tree.xpath('//td[@class="title"]//a/text()') #获取需要的数据

我们来看下获取的数据

print(result)

['看不见的客人',
 '斯隆女士',
 '美女与野兽',
 '契克',
 '分裂',
 '莎士比亚外传',
 '八月',
 '休斯顿,我们有麻烦了!',
 '古城一线牵',
 '被操纵的城市']

爬虫结束~~~有木有满满成就感!!!
以上代码爬取的是这个页面,红色框框里面的数据,也就是豆瓣电影本周口碑榜。
豆瓣电影
下面开始简单介绍如何写爬虫。
爬虫前,我们首先简单明确两点:
1. 爬虫的网址;
2. 需要爬取的内容(数据)。

第一步,爬虫的网址,这个…那就豆瓣吧,我也不知道为啥爬虫教程都要拿豆瓣开刀–!
第二部,需要爬取的内容(数据)。
这也正是上面6行代码中的最后一行,也可能是新手觉得最难的地方了。代码的这个部分就是获取数据。

'//td[@class="title"]//a/text()'

下面来一步一步操作如何写出上面的那行代码
1. 打开网址https://movie.douban.com/,然后按一下F12。
2. 鼠标点击图中的按钮。
这里写图片描述

  1. 鼠标点击需要爬取的数据,这里我们点“看不见的客人”,如图所示。
    这里写图片描述
  2. 看到大红色框框里的东西,是不是和我们最“重要”的代码有很多相似的地方。
    再看来最后一行代码中最“重要”的部分。
    ‘//td[@class=”title”]//a/text()’
    • //td :这个相当于指定是大目录;
    • [@class=”title”]:这个相当于指定的小目录;
    • //a :这个相当于最小的目录;
    • /text():这个是提取其中的数据。

爬虫介绍结束,看完你也该试试手了。
试试爬“即将上映”
这里写图片描述

这个只需将最后一行代码改成

result=tree.xpath('//li[@class="title"]//a/text()')

如图所示“即将上映”的电影就被你爬下来了。

是不是感觉爬虫很简单,已经会了。
现实中,在爬虫乎面临很多问题,比如:
1. 页面规则不统一;
2. 爬下来的数据处理;
3. 反爬虫机制。
还有很多类似的各种问题,想要深入变成大神,还是需要一步一步来,5分钟变大神是不可能啦~~!
上面6行代码包括的内容有python requests包,html知识,XPATH等。网上资料很多,这里就不做介绍了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/133881.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • android中彻底退出App的办法「建议收藏」

    android中彻底退出App的办法「建议收藏」所谓的“彻底退出App”的含义是包括释放所有Appnew出来的东西,比如说某些正在运行的线程、定时器之类的。需要注意的是:finish()方法是作用于Activity,因此,即使finish了app的最后一个Activity,app在运行过程中new出来的那些线程什么的仍然有可能在运行(如果没有明显的代码导致它们退出的话)。因此,要所谓”彻底退出“,个人的看法是在最后一个finish()…

    2022年7月17日
    23
  • WinRAR去广告(简体中文版)[通俗易懂]

    WinRAR去广告(简体中文版)[通俗易懂]1.官网下载WinRAR:www.rarlab.com选择简体中文版-ChineseSimplified(32bit,64bit),根据自己需要选择32或64位2.安装并注册(1)直接安装即可(2)注册:新建一个txt文件,拷入一下文本保存,并将文件重命名为:rarreg.key,注意文件后缀为.key,并将文件拷到WinRAR安装路径下。…

    2022年6月12日
    48
  • 阿里面试Redis最常问的三个问题:缓存雪崩、击穿、穿透(带答案)

    阿里面试Redis最常问的三个问题:缓存雪崩、击穿、穿透(带答案)我没想到他会这么问

    2022年6月26日
    25
  • 自己实现简单java缓存类文件_java怎么把数据存到缓存中

    自己实现简单java缓存类文件_java怎么把数据存到缓存中需求分析项目中经常会遇到这种场景:一个变量需要在多处共享,有些变量还有时效性,过期自动失效,比如手机验证码,发送之后需要缓存起来,然后处于安全性考虑,一般还要设置有效期,到期自动失效。我们怎么实现这样的功能呢?解决方案使用现有的缓存技术框架,比如redis,ehcache。优点:成熟,稳定,功能强大;缺点,项目需要引入对应的框架,不够轻量。如果不考虑分布式,只是在单线程或者多线程间…

    2025年6月15日
    4
  • SENT 协议

    SENT 协议Pending

    2022年6月29日
    72
  • 在eclipse中建立java项目

    在eclipse中建立java项目 注意:安装前必备环境:安装eclipse之前必须安装JDK环境。安装方法主要有:下载JDK,安装JDK,配置JDK的环境变量,测设JDK是否安装好。具体步骤详见博文: java开发环境搭建 使用eclipse从头一步步创建java项目1.下载eclipse官网地址:http://www.eclipse.org/downloads/下载EclipseIDEforJava…

    2022年7月24日
    13

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号