python网络爬虫入门

python网络爬虫入门(一)

网络爬虫的定义

1、网络蜘蛛、网络机器人,抓取网络数据的程序。

2、其实就是用Python(其他语言也可以这里介绍python)程序模仿人点击浏览器并访问网站,而且模仿的越逼真越好。

对比几种语言

1、Python :请求模块、解析模块丰富成熟,强大的Scrapy网络爬虫框架
2、PHP :对多线程、异步支持不太好
3、JAVA:代码笨重,代码量大
4、C/C++:虽然效率高,但是代码成型慢

爬取数据的一般步骤

1、确定需要爬取的URL地址
2、由请求模块向URL地址发出请求,并得到网站的响应
3、从响应内容中提取所需数据并保存

python标准库中爬虫请求模块及其方法

urllib.request

urllib.request.urlopen()方法

作用:向网站发去请求并获取响应对象
参数:
    1.所需要爬取的URL地址
    2.timeout:设置等待时间,指定时间内为未响应抛出异常

第一个爬虫程序

打开浏览器,输入百度网址(https://www.baidu.com/),得到百度的响应

# 导入请求模块(python标准库模块)
import urllib.request
?
# 定义url地址
url = ‘http://www.baidu.com/‘
?
# 向百度发请求,得到响应对象
res = urllib.request.urlopen(url)

响应对象方法

res = urllib.request.urlopen(url)
?
#获取响应对象的内容(也就是网页源代码)
#用decode()转换为字符串
res.read().decode(‘utf-8‘)
?
#返回http响应码
res.getcode()
?
#返回实际数据的URL地址
res.geturl()

向百度发起请求,并获取响应对象的内容

# 导入请求模块(python标准库模块)
import urllib.request
?
# 定义url地址
url = ‘http://www.baidu.com/‘
?
# 向百度发请求,得到响应对象
res = urllib.request.urlopen(url)
# 获取响应对象的内容(网页源代码)
html = res.read().decode(‘utf-8‘)
print(html)

------------恢复内容开始------------

python网络爬虫入门(一)

网络爬虫的定义

1、网络蜘蛛、网络机器人,抓取网络数据的程序。

2、其实就是用Python(其他语言也可以这里介绍python)程序模仿人点击浏览器并访问网站,而且模仿的越逼真越好。

对比几种语言

1、Python :请求模块、解析模块丰富成熟,强大的Scrapy网络爬虫框架
2、PHP :对多线程、异步支持不太好
3、JAVA:代码笨重,代码量大
4、C/C++:虽然效率高,但是代码成型慢

爬取数据的一般步骤

1、确定需要爬取的URL地址
2、由请求模块向URL地址发出请求,并得到网站的响应
3、从响应内容中提取所需数据并保存

python标准库中爬虫请求模块及其方法

urllib.request

urllib.request.urlopen()方法

作用:向网站发去请求并获取响应对象
参数:
    1.所需要爬取的URL地址
    2.timeout:设置等待时间,指定时间内为未响应抛出异常

第一个爬虫程序

打开浏览器,输入百度网址(https://www.baidu.com/),得到百度的响应

# 导入请求模块(python标准库模块)
import urllib.request
?
# 定义url地址
url = ‘http://www.baidu.com/‘
?
# 向百度发请求,得到响应对象
res = urllib.request.urlopen(url)

响应对象方法

res = urllib.request.urlopen(url)
?
#获取响应对象的内容(也就是网页源代码)
#用decode()转换为字符串
res.read().decode(‘utf-8‘)
?
#返回http响应码
res.getcode()
?
#返回实际数据的URL地址
res.geturl()

向百度发起请求,并获取响应对象的内容

# 导入请求模块(python标准库模块)
import urllib.request
?
# 定义url地址
url = ‘http://www.baidu.com/‘
?
# 向百度发请求,得到响应对象
res = urllib.request.urlopen(url)
# 获取响应对象的内容(网页源代码)
html = res.read().decode(‘utf-8‘)
print(html)

------------恢复内容结束------------