python beautifulsoup模拟点击_python+urllib+beautifulSoup实现一个简单的爬虫

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

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

1、安装python最新安装包3.5.2

  注:安装的时候注意勾选添加到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 importrequest

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 importurlopenfrom urllib.request importRequestfrom urllib importparse

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值