Python爬虫练习笔记一
2017-05-02 11:15
387 查看
这里的爬虫知识学习十分基础,都是参考http://cuiqingcai.com/942.html学习的。不过原网页是Python2.7的代码,这里改成了Python3.5版本。
URL,即统一资源定位符,也就是网址,统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
URL的格式由三部分组成:①
第一部分是协议(或称为服务方式)。
② 第二部分是存有该资源的主机IP地址(有时也包括端口号)。
③ 第三部分是主机资源的具体地址,如目录和文件名等。
爬虫爬取数据时必须要有一个目标的URL才可以获取数据,因此,它是爬虫获取数据的基本依据。
怎样扒网页呢?
其实就是根据URL来获取它的网页信息,虽然我们在浏览器中看到的是一幅幅优美的画面,但是其实是由浏览器解释才呈现出来的,实质它是一段HTML代码,加
JS、CSS,如果把网页比作一个人,那么HTML便是他的骨架,JS便是他的肌肉,CSS便是它的衣服。所以最重要的部分是存在于HTML中的,下面就写个例子来扒一个网页下来。
import urllib.request
import urllib.parse
request = urllib.request.Request("http://www.baidu.com")
response = urllib.request.urlopen(request)
print(response.read())
怎样传送数据呢?
上面的程序演示了最基本的网页抓取,不过,现在大多数网站都是动态网页,需要你动态地传递参数给它,它做出对应的响应。所以,在访问时,我们需要传递数据给它。
数据传送分为POST和GET两种方式,GET方式是直接以链接形式访问,链接中包含了所有的参数,如果包含了密码的话是一种不安全的选择,不过可以直观地看到自己提交了什么内容。POST则不会在网址上显示所有的参数,不过如果想直接查看提交了什么就不太方便了。
POST方式:
values = {}
values['username'] = "xxxxxxxx"
values['password'] = "xxxxxxxx"
# post #
data = urllib.parse.urlencode(values).encode(encoding='UTF8')
url = "http://passport.csdn.net/account/login?from=http://my.csdn.net/my/mycsdn"
header = {"User-Agent":user_agent}
request = urllib.request.Request(url,data,header)
response = urllib.request.urlopen(request)
print(response.read())
GET方式:
values = {}
values['username'] = "xxxxxxxx"
values['password'] = "xxxxxxxx"
# get #
data = urllib.parse.urlencode(values)
url = "http://passport.csdn.net/account/login"
geturl = url + "?" + data
request = urllib.request.Request(geturl)
response = urllib.request.urlopen(request)
print(response.read())
URL,即统一资源定位符,也就是网址,统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
URL的格式由三部分组成:①
第一部分是协议(或称为服务方式)。
② 第二部分是存有该资源的主机IP地址(有时也包括端口号)。
③ 第三部分是主机资源的具体地址,如目录和文件名等。
爬虫爬取数据时必须要有一个目标的URL才可以获取数据,因此,它是爬虫获取数据的基本依据。
怎样扒网页呢?
其实就是根据URL来获取它的网页信息,虽然我们在浏览器中看到的是一幅幅优美的画面,但是其实是由浏览器解释才呈现出来的,实质它是一段HTML代码,加
JS、CSS,如果把网页比作一个人,那么HTML便是他的骨架,JS便是他的肌肉,CSS便是它的衣服。所以最重要的部分是存在于HTML中的,下面就写个例子来扒一个网页下来。
import urllib.request
import urllib.parse
request = urllib.request.Request("http://www.baidu.com")
response = urllib.request.urlopen(request)
print(response.read())
怎样传送数据呢?
上面的程序演示了最基本的网页抓取,不过,现在大多数网站都是动态网页,需要你动态地传递参数给它,它做出对应的响应。所以,在访问时,我们需要传递数据给它。
数据传送分为POST和GET两种方式,GET方式是直接以链接形式访问,链接中包含了所有的参数,如果包含了密码的话是一种不安全的选择,不过可以直观地看到自己提交了什么内容。POST则不会在网址上显示所有的参数,不过如果想直接查看提交了什么就不太方便了。
POST方式:
values = {}
values['username'] = "xxxxxxxx"
values['password'] = "xxxxxxxx"
# post #
data = urllib.parse.urlencode(values).encode(encoding='UTF8')
url = "http://passport.csdn.net/account/login?from=http://my.csdn.net/my/mycsdn"
header = {"User-Agent":user_agent}
request = urllib.request.Request(url,data,header)
response = urllib.request.urlopen(request)
print(response.read())
GET方式:
values = {}
values['username'] = "xxxxxxxx"
values['password'] = "xxxxxxxx"
# get #
data = urllib.parse.urlencode(values)
url = "http://passport.csdn.net/account/login"
geturl = url + "?" + data
request = urllib.request.Request(geturl)
response = urllib.request.urlopen(request)
print(response.read())
相关文章推荐
- Python的学习笔记DAY8---爬虫练习之煎蛋网妹子图爬虫
- 【极客学院】-python学习笔记-4-单线程爬虫 (提交表单抓取信息,实战练习)
- Python爬虫练习笔记二
- python 入门练习笔记_1
- Python爬虫框架Scrapy 学习笔记 1 ----- 环境搭建
- Python 初学笔记:地址簿练习
- Python3.x学习笔记[1]:2种简单爬虫获取京东价格
- [Python]第八课笔记 简单代理爬虫
- Python爬虫框架Scrapy 学习笔记 10.2 -------【实战】 抓取天猫某网店所有宝贝详情
- [Python]网络爬虫学习笔记,爬取东南大学SEU-wlan的流量使用情况
- [Python]网络爬虫学习笔记,爬取豆瓣妹子上妹子的照片
- Python爬虫框架Scrapy 学习笔记 7------- scrapy.Item源码剖析
- Getting Started Spidering a Site使用Chilkat(python)练习的一个爬虫(from :http://www.example-code.com)
- Python爬虫框架Scrapy 学习笔记 8----Spider
- Python爬虫框架Scrapy 学习笔记 9 ----selenium
- Python爬虫框架Scrapy 学习笔记 4 ------- 第二个Scrapy项目
- Python学习笔记 第二部分 - 正则表达式 与 爬虫小实例(抓取豆瓣电影中评分大于等于8分的影片)
- python爬虫框架scrapy学习笔记
- python基础教程_学习笔记8:序列_练习与总结_1
- 使用python如何开始练习爬虫