前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >10行代码实现一个爬虫

10行代码实现一个爬虫

原创
作者头像
conanma
修改2021-11-01 14:26:35
9020
修改2021-11-01 14:26:35
举报
文章被收录于专栏:正则

跟我学习Python爬虫系列开始啦。带你简单快速高效学习Python爬虫。

一、快速体验一个简单爬虫

以抓取简书首页文章标题和链接为例

简书首页

就是以上红色框内文章的标签,和这个标题对应的url链接。当然首页还包括其他数据,如文章作者,文章评论数,点赞数。这些在一起,称为结构化数据。我们先从简单的做起,先体验一下Python之简单,之快捷。

1)环境准备 当然前提是你在机器上装好了Python环境,初步掌握和了解Python语法。如果还没有装好Python环境,对Python语言法不了解,可以先看《然学科技 Python基础系列》文章:https://www.jianshu.com/nb/20496406

2)安装相应包 快速入门我们使用的是requests包和BeautifulSoup包。简单解释一下,requests功能强大,代码少,封装了网络请求request(发起请求)和response(网络响应),request就像打开浏览器地址栏输入你想要访问的网站,浏览器中马上就可以看到内容一样(response)。

爬虫可以抓到大量数据(结构化的数据),存到数据库中(或excel, csv文件),再进行清洗整理,进行其他工作,如数据分析等。数据抓取也是数据分析前提和基础。

  1. 安装requests
代码语言:javascript
复制
pip install requests
  1. 安装beautifulsoup4
代码语言:javascript
复制
pip install beautifulsoup4 
  1. 可以查看一下你安装了哪些包
代码语言:javascript
复制
pip list

3)代码:

代码语言:javascript
复制
# _*_ coding:utf-8 _*_

import requests
from bs4 import BeautifulSoup

URL='http://www.jianshu.com'


def simple_crawel():
    html = requests.get(URL).content
    soup = BeautifulSoup(html, 'lxml')
    titles = soup.find_all('a',class_="title")
    for t in titles:
        print t.text+' -->>> '+'https://www.jianshu.com'+t['href']


if __name__ == '__main__':
    simple_crawel()

运行这个文件:

代码语言:javascript
复制
python demo.py

结果:

抓取到的数据

代码解析:

代码语言:javascript
复制
html = requests.get(URL).content

发起一个请求,获到到页面的内容(文本),对的就是一行代码就抓取到网页的全部内容。下一步就是要对页面进行解析。

代码语言:javascript
复制
titles = soup.find_all('a',class_="title")

这行代码表示,寻找页面上所有class属性为titlea标签,就是文章标题所对应的标签。怎样才能找到文章标题对就是的哪个标题呢?很简单,在chrome浏览器中右键“检查”中查看就知道。看下图:

文章标题所对应的标签

然后再循环遍历,就得到每一个文章标题的a标签对象,在循环中取出文章标题的内容'text'和链接href就行了。

就这么简单,10行代码就抓取到首页热门文章的标题和URL打印在屏幕上。

二、学习爬虫需要的相关知识

代码很少,涉及到的知识点却很多。如果想要入门系统学习Python爬虫需要哪些知识呢?

  • Python语言基础
  • Python爬虫相关库
  • HTTP请求响应模式
  • HTML基础(HTML+CSS)
  • 数据库基础

以上内容,都会在《跟我学Python爬虫》逐步讲。也可以把Python爬虫作为Python语言学习的起点,来了解和学习这门“人工智能的第一语言”,进而打开爬虫、数据分析、数据可视化、深度学习、人工智能的大门。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、快速体验一个简单爬虫
    • 二、学习爬虫需要的相关知识
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档