码迷,mamicode.com
首页 > 编程语言 > 详细

python+urllib+beautifulSoup实现一个简单的爬虫

时间:2016-09-05 16:47:35      阅读:732      评论:0      收藏:0      [点我收藏+]

标签:

urllib是python3.x中提供的一系列操作的URL的库,它可以轻松的模拟用户使用浏览器访问网页.

Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间.

1、安装python最新安装包3.5.2

  下载地址:https://www.python.org/

技术分享
  注:安装的时候注意勾选添加到PATH(系统环境变量)中

  验证安装是否成功: 在命令行cmd中输入python,如果进入到python的编辑环境,则安装成功。

  技术分享

2、安装urllib

  在python命令行中输入:from urllib.request import urlopen

  显示如下:没有出现错误信息则安装成功

  技术分享

3、安装BeautifulSoup

  在cmd中输入:pip install beautifulsoup4

  技术分享

  验证是否装成功:form bs4 import BeautifulSoup  如果没有报错就是安装成功

  技术分享

4、urllib的用法介绍

 (1)使用步骤

  • 导入urllib库的request模块 from urllib import request
  • 请求URL req = request.Request(URL)
  • 设置请求头 req.add_header(key,value)
  • 使用响应对象输出数据print(resp.read().decode(‘utf-8‘))
from urllib import request

req = request.Request("http://www.baidu.com")

req.add_header("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64; rv:48.0) Gecko/20100101 Firefox/48.0")

resp = request.urlopen(req)

print(resp.read().decode("utf-8"))

这里我用sublime Text 测试:可以看到百度首页的数据是可以被获取下来的。

  技术分享

 (2)post请求

  • 导入urllib库下面的parse: from urllib import parse
  • 使用urlencode生成post数据

         postData = parse.urlencode([

           (key1,val1),

           (key2,val2),

           (key3,val3)

  ])

  • 使用postData发送POST请求 request.urlopen(req,data = postData.encode(‘utf-8‘))
  • 得到请求状态 resp.status
  • 得到服务器类型 resp.reason

       

from urllib.request import urlopen
from urllib.request import Request
from urllib import parse

req = Request(http://huochepiao.114piaowu.com/train/ydTrainZdz_searchAdapter.action)

postData = parse.urlencode({
    fromStation:上海,
    godateStr:2016-09-07,
    searchType:0,
    toStation:广州
}).encode(utf-8)

req.add_header("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0")

resp = urlopen(req,data = postData)

print(resp.read().decode(utf-8))

 5、beautifulSoup使用简介

  http://beautifulsoup.readthedocs.io/zh_CN/latest/#id20

python+urllib+beautifulSoup实现一个简单的爬虫

标签:

原文地址:http://www.cnblogs.com/parryyang/p/5842182.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!