python爬取网页数据

前言:

转载请注明出处。

注意事项:请于作者下载的版本保持一致

    如有细节不了解可对比参考python基础教程:例如系统不一致(Windows/Unix/Linux)

环境:

python版本:python-2.7.12.amd64 

我的电脑是windows系统64位,如有不同可根据电脑系统自行选择合适的版本下载

python IDE:Pycharm 或者 notepad++

    我用的是Pycharm 2018.1.4 ,因为刚学,一下单词记不住需要提示。而notepad++需要自己手打而没有选择。

想简单点可以选择notepad++,想偷懒可以选择Pycharm(前提是比较熟悉这个IDE的基础功能)

    对了,Pycharm需要注册码,一般有两种方式:注册码和本地搭建服务器授权,我这里只提供我自己用的一种方式:注册码

点击这个地址http://idea.lanyus.com/进入下面这个界面

python爬取网页数据_第1张图片

第一步点击获取注册码,

第二步把“0.0.0.0 account.jetbrains.com”添加到hosts文件中。

hosts文件目录一般位于
C:\Windows\System32\drivers\etc
最后一步就是把获取到的注册码复制粘贴到打开Pycharm后的Actication code 里面

电脑系统环境:windows 7

一、初始准备

下载python

我的目录为D:\Program Files (x86)\Python27

下载完后记住你的python的安装目录

配置环境变量:

找到计算机点击鼠标右键选择属性:然后出现如下图,依次双击

最后找到Path,编辑变量值,在最后面加上

;D:\Program Files (x86)\Python27;D:\Program Files (x86)\Python27\Scripts;

注意如果变量值最后面已经有“;”就不需要再加";"。

其中D:\Program Files (x86)\Python27 这个是你python的路径,让你方便执行python命令

例如看是否安装好,以及看python版本,直接输入cmd命令:python

C:\Users\Administrator>python
会显示python版本,并进入python交互器(交互式解释器)模式


其中D:\Program Files (x86)\Python27\Scripts;这个是一些可执行文件目录,我主要是为了更方便执行pip命令来下载相关包

python爬取网页数据_第2张图片

这下准备工作大功告成了,为自己鼓掌!!

二、需要了解的python知识

pip命令:本次学习主要用到的命令,安装第三方库

pip install -U <包名>

需要安装的包:每个包的作用自行百度了解

import requests
import sys
import re
from lxml import etree

安装命令:(前提配置了D:\Program Files (x86)\Python27\Scripts;这个目录到Patn,如没有请进入这么目录在输入下面命令)

pip install requests
pip install sys
pip install re
pip install lxml

我这个是已经下载了,

python爬取网页数据_第3张图片

三、爬取数据

实例一:爬取csdn首页的推荐栏标题

话不多说直接上代码

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import sys
import requests
from lxml import etree
reload(sys)
sys.setdefaultencoding("utf-8")


def _request(url, encoding='utf-8'):
    response = requests.get(url)
    response.encoding = encoding
    html = response.text
    return etree.HTML(html)


html = _request('https://www.csdn.net/')

recommend_title = html.xpath("//div[@class='nav_com']//a/text()")
print(len(recommend_title))
for title in recommend_title:
    print(title)

其中重点是随时要注意的编码。

如何选取需要的数据的节点,请参考 python爬虫xpath的语法

这时候有人要问为什么不用正则来筛选?

我是个相对而言喜欢简单明了一点的,所以用xpath来筛选数据。

具体喜欢用什么方式因人而已吧,只要能筛选出你需要的数据,就是好的。


实例二:网上还有一些用scrapy框架来爬取数据的我这里也略带提一下

参考网上的scrapy框架的同学可能烦的时pip install scrapy 这个下载不下来,这就是版本的重要性了,你如果用的是我说的python版本,只需一个pip install scrapy命令,就ok了,不用烦恼别的。

scrapy项目的创建:scrapy startproject 项目名

scrapy startproject projectDemo

python爬取网页数据_第4张图片

然后在E:\scrapy目录下就会出现该项目。项目结构如图

python爬取网页数据_第5张图片

你可能感兴趣的:(python)