欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python网络爬虫入门(一)

程序员文章站 2022-05-08 18:05:48
...

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