分享

5分钟,6行代码教你写爬虫!(python)

 stoneccf 2019-01-07

节约时间,不废话介绍了,直接上例子!!!输入以下代码(共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()') #获取需要的数据
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

我们来看下获取的数据

print(result)

['看不见的客人',
 '斯隆女士',
 '美女与野兽',
 '契克',
 '分裂',
 '莎士比亚外传',
 '八月',
 '休斯顿,我们有麻烦了!',
 '古城一线牵',
 '被操纵的城市']
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

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

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

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

下面来一步一步操作如何写出上面的那行代码
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

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

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多