网络爬虫从入门到实践(一)————Python环境搭建

一、前言

网络爬虫的目的是实现实时自动化获取数据,成为大数据领域的必备环节,毕竟有数据才能进行数据分析。

KYC框架

Know Your Company(了解你的公司)、Know Your Competitor(了解你的竞争对手)、Know Your Customer(了解你的客户)

4P

Product:产品创新, Place:智能选址 , Price:动态价格, Promotion: 数据驱动的营销活动

 

1.1 爬取数据内容

社交媒体上的每一条发帖,团购网站上的价格及点评, 招聘网站上的招聘信息。

 

1.2 Robots协议

Robots协议全称是“网络爬虫排除协议”,是国际互联网界的通行的道德规范。

我们以淘宝网的robots.txt为例。    http://www.taobao.com/robots.txt

1.3 Python爬虫的流程及技术实现

流程主要分为三个部分,(1)获取网页,(2)解析网页(提取数据); (3) 存储数据

(1)获取网页

获取网页的基础技术:request,urllib和selenium(模拟浏览器)

获取网页的高级技术:多线程多进程抓取,登录抓取,突破IP封禁和服务器抓取

(2)解析网页

解析网页的基础技术:re正则表达式, BeautifulSoup和lxml

解析网页的进阶技术:解决中文乱码

(3)存储数据

存储数据的基础技术:存入txt文件和存入CSV文件或xls文件

存储数据的进阶技术:存入MySQL数据库和存入MongDB数据库

 

二、Python环境的搭建

本文介绍的是一种名为Anaconda的Python的科学开发环境,当然也可用原生的Python和pip安装包搭建,在此不再赘述;

搭建步骤如下:

(1)下载Anaconda,进入官网https://www.anaconda.com/download/,选择对应的操作系统,Python版本,推荐下载Python3.6;

(2)安装Anaconda,此时要注意勾选“Add  Anaconda to my PATH environment variable”选项;

(3)使用pip安装第三方库,pip是Python安装各种第三方库的工具,因Anaconda中自带了pip,因此不用自己配置安装;

(4)打开命令窗口,Windows打开cmd, Linux和Mac系统打开terminal, 在命令行输入

pip install bs4

pip install requests

pip install lxml

2.使用编译器Jupyter编程

Python的编译器有很多,比如Notepad++, Sublime, Spyder和Jupyter

使用方法如下:

(1)在命令行键入:Jupyter notebook 按下回车即可打开,浏览器启动Jupyter主界面,

(2)创建Python文件,选择相应的文件,单机右上角的New按钮,选择下拉列表中的Python3作为Nodebook的启动类型

(3)在创建的文件中编写Python程序,可以按 Alt+Enter即可执行代码

Jupyter的优势在于交互式编程和展示功能。同时还可以添加各种元素,比如图片,视频,链接等,还支持Markdown,可以当做PPT使用。

三、编写一个简单的爬虫

1.第一步:爬取页面

#!/usr/bin/python
# coding: UTF-8
import requests

url = "http://movie.douban.com/"

headers ={
    'Host' : 'movie.douban.com',
    'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0'
}

#用requests的headers伪装成浏览器访问,r是requests的Response回复对象
r = requests.get(url, headers = headers)
# r.text是获取的网页内容的代码
print(r.text)

 

2.第二步:提取需要的数据

#!/usr/bin/python
#coding:UTF-8
import requests
from bs4 import BeautifulSoup

url = ""
headers = {
    'Host' : 'movie.douban.com',
    'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0
}
r = requests.get(url, headers = headers)

soup = BeautifulSoup(r.text, "lxml")    #使用BeautifulSoup来解析html代码
title = soup.find("h1", class_="").a.text.strip()
print(title)

 

PS:使用检查元素的功能

(1)Chrome浏览器:右击网页页面,在弹出菜单中选择"检查"命令,

(2)单击鼠标左上角的鼠标键按钮,然后在页面上单击想要的数据,下面的Element会出现相应的code所在的地方,就定位到想要的元素了

(3)在Python代码中用    soup.find("h1", class_="").a.text.strip()    提取标题

 

3.第三步:存储数据

with open("title.txt", "a+") as f:
    f.write(title)
    f.close()

这样,标题就被存储到title.txt 文件中了,我们的第一个爬虫小项目就完成了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值