首页 > 其他分享 >简单几步教你如何写爬虫

简单几步教你如何写爬虫

时间:2022-11-14 16:07:41浏览次数:42  
标签:title text 几步 tree 爬虫 简单 td class

对于初入爬虫行业的新手小白来说,如何简单快速的实现爬虫对于自身经验提升也是大有裨益的。

为了节约时间,我就不浪费大家的时间了,直接就开始案例讲解吧。

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()') #获取需要的数据

需要请求时添加header了

url = "https://movie.douban.com/"
header = {
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36"
}
page = requests.Session().get(url, headers=header)
tree = html.fromstring(page.text)
result = tree.xpath('//td[@class="title"]//a/text()')
print(result)

我们来看下获取的数据

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

爬虫结束~~~有木有满满成就感!!! 

以上代码爬取的是这个页面,红色框框里面的数据,也就是豆瓣电影本周口碑榜。

简单几步教你如何写爬虫_爬虫技术

下面开始简单介绍如何写爬虫

爬虫前,我们首先简单明确两点: 

1. 爬虫的网址; 

2. 需要爬取的内容(数据)

第一步,爬虫的网址,这个…那就豆瓣吧,我也不知道为啥爬虫教程都要拿豆瓣开刀–! 

第二部,需要爬取的内容(数据)。 

这也正是上面6行代码中的最后一行,也可能是新手觉得最难的地方了。代码的这个部分就是获取数据。

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

下面来一步一步操作如何写出上面的那行代码 

1. 打开网址https://movie.douban.com/,然后按一下F12。 

2. 鼠标点击图中的按钮。 

简单几步教你如何写爬虫_爬虫技术_02

1.鼠标点击需要爬取的数据,这里我们点“看不见的客人”,如图所示。 

简单几步教你如何写爬虫_大数据分析_03

看到大红色框框里的东西,是不是和我们最“重要”的代码有很多相似的地方。 

再看来最后一行代码中最“重要”的部分。 

‘//td[@class=”title”]//a/text()’ 

//td :这个相当于指定是大目录;

[@class=”title”]:这个相当于指定的小目录;

//a :这个相当于最小的目录;

/text():这个是提取其中的数据。

爬虫介绍结束,看完你也该试试手了。 

试试爬“即将上映” 

简单几步教你如何写爬虫_python爬虫_04

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

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

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

标签:title,text,几步,tree,爬虫,简单,td,class
From: https://blog.51cto.com/u_13488918/5849272

相关文章

  • 简单了解一下加密狗以及加密狗复制的方法
    什么是加密狗?加密狗是一种用于软件加密的小型外置硬件设备,常见的有并口与USB接口两种类型,加密狗被广泛应用于各种软件之中,软件开发的技术人员,可以把实现此项功能的软件橙块......
  • 简约而不简单|值得收藏的Numpy小抄表(含主要语法、代码)
    Numpy是一个用python实现的科学计算的扩展程序库,包括:1、一个强大的N维数组对象Array;2、比较成熟的(广播)函数库;3、用于整合C/C++和Fortran代码的工具包;4、实用的线性代数、傅......
  • Python用yield form 实现异步协程爬虫
    很古老的用法了,现在大多用的aiohttp库实现,这篇记录仅仅用做个人的协程底层实现的学习。争取用看得懂的字来描述问题。1.什么是yield如果还没有怎么用过的话,直接把yield......
  • Python 代码托管到码云平台,原来这么简单!!
    一、什么是代码托管?代码托管又有什么好处?场景1:我有2个电脑,公司一台,家里一台。我想在两台电脑上都进行同步开发。这时候我只要gitpush/pull一下就能够同步了,不再需要用U......
  • C#写日志两个简单方法
    https://blog.csdn.net/hdhai9451/article/details/46455813https://www.cnblogs.com/wyt007/p/8023391.html在开发,有时为了验证程序运行是否正确,通常要写日志来记录操作......
  • 90 条简单实用的 Python 编程技巧,建议收藏
    编码原则建议1:理解Pythonic概念—-详见Python中的《Python之禅》建议2:编写Pythonic代码避免不规范代码,比如只用大小写区分变量、使用容易混淆的变量名、害怕......
  • 小白爬虫综合项目1
    项目1:搜狗知乎,爬取指定存储上一级目录的名字,以及存储爬取的页码项目2:爬取某用户的豆瓣网的个人主页页面数据项目3:goubanjia应用爬取ip这个关键词的页面项目4:爬取糗事......
  • openGL库环境简单配置
    主要是针对openGL的一些学习总结,因为openCV主要是处理图像视频,是从现有的得到数据,而openGL好像是从数据进行绘图,学习一下。配置GLFWGLFW是窗口管理库,需要编译安装。因为......
  • MixGo CE主控板简单介绍
    MixGoCE主控板是一块集成了常见的声音、光线、温度等传感器和蜂鸣器、RGB灯、LED灯等执行器于一身的功能强大的集成式主控板,并且支持MixIO物联网应用开发平台,与Mixly最新......
  • MixGo PE主控板简单介绍
    MixGoPE主控板,使用使用MicroPython编程,支持多线程,超强扩展性:6个Type-C接口12个2510接口1个屏幕排线接口支持外接直流电机或步进电机支持外接DC供电(6-12V)MixGoPE......