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

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

时间: 2024-10-07 22:12:44

python+urllib+beautifulSoup实现一个简单的爬虫的相关文章

$python爬虫系列(1)——一个简单的爬虫实例

本文主要实现一个简单的爬虫,目的是从一个百度贴吧页面下载图片. 1. 概述 本文主要实现一个简单的爬虫,目的是从一个百度贴吧页面下载图片.下载图片的步骤如下: 获取网页html文本内容: 分析html中图片的html标签特征,用正则解析出所有的图片url链接列表: 根据图片的url链接列表将图片下载到本地文件夹中. 2. urllib+re实现 #!/usr/bin/python # coding:utf-8 # 实现一个简单的爬虫,爬取百度贴吧图片 import urllib import r

python 一个简单的爬虫(1)

1.一个简单的爬虫:爬取豆瓣的热门电影的信息 技能:获取网页源码,正则表达式,函数调用,全局变量的定义 1 #! /usr/bin/env python 2 # -*- coding=utf-8 -*- 3 import requests 4 import json 5 import re 6 import sys 7 reload(sys) 8 sys.setdefaultencoding("utf-8") 9 classinfo = [] 10 f = open('info.txt

一个简单网络爬虫示例(转载)

在学生时期,可能听到网络爬虫这个词会觉得很高大上,但是它的简单实现可能学生都不难懂. 网络爬虫应用,就是把整个互联网真的就当做一张网,像蜘蛛网那样,应用就像一个虫子,在网上面按照一定的规则爬动. 现在互联网应用最广的就是http(s)协议了,本文例子就是基于使用http(s)协议的,只作为示例,不涉及复杂的算法(实际上是最重要的). 设计思路: 程序入口从一个或多个url开始,通过http(s)获取url的内容,对获取到内容处理,获取内容中需要爬取的信息,获取到内容中的url链接,再重复以上步骤

【转】使用webmagic搭建一个简单的爬虫

[转]使用webmagic搭建一个简单的爬虫 刚刚接触爬虫,听说webmagic很不错,于是就了解了一下. webmagic的是一个无须配置.便于二次开发的爬虫框架,它提供简单灵活的API,只需少量代码即可实现一个爬虫. 这句话说的真的一点都不假,像我这样什么都不懂的人直接下载部署,看了看可以调用的方法,马上就写出了第一个爬虫小程序. 以下是我学习的过程: 首先需要下载jar:http://webmagic.io/download.html 部署好后就建一个class继承PageProcesso

Python网络爬虫 - 一个简单的爬虫例子

下面我们创建一个真正的爬虫例子 爬取我的博客园个人主页首页的推荐文章列表和地址 scrape_home_articles.py from urllib.request import urlopen from bs4 import BeautifulSoup import re html = urlopen("http://www.cnblogs.com/davidgu") bsObj = BeautifulSoup(html, "html.parser") for

python初尝试,写一个简单的爬虫程序

1.首先因为mac自带python,版本为python2.7.10 2.安装pip,因为已经有了,所以不能用brew install.这里用sudo easy_install pip 3.安装beatifulsoup4,sudo -H pip install beautifulsoup4. BeautifulSoup是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式. 4.安装html5lib,sudo pip insta

nodejs实现一个简单的爬虫

nodejs是js语言,实现一个爬出非常的方便. 步骤 1. 使用nodejs的request模块,获取目标页面的html代码:https://github.com/request/request 2. 使用cheerio模块对html代码做处理(cheerio类似jQuery的语法,所以好用又方便)https://github.com/cheeriojs/cheerio 下面我们借助exprerss来做一个简单的nodejs爬虫系统.http://www.expressjs.com.cn/ 具

python实现一个简单的爬虫

今天第一次写爬虫,感觉非常有趣!,中途也遇到了许多问题,所以写篇博客- 目标:爬取豆瓣编程类书籍中9分以上的 刚接触爬虫,说下我的认识(不一定准确^_^) 我们知道网页的呈现也是用编程语言写出来的,有源码,每个网页我们都可以查看它的源码,我的浏览器快捷键是Ctrl+U, 一般点击右键就可以看见查看源码.因为要爬取豆瓣的数据,那看看下图豆瓣图书页面的部分源码 它所对应的数据是这样的 那么我们知道了,网页上所能看见的每个数据在源码上都能找到,有的点击会跳转也是因为源码上链接着其他地方. 所以我们直接

python实现一个简单的爬虫搜索功能

html.parser HTMLParser   urllib.request urlopen   urllib parse LinkParser(HTMLParser):     handle_starttag(, tag, attrs):         tag == :             (key, value) attrs:                 key == :                     newUrl = parse.urljoin(.baseUrl, v