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)
上一篇: lua与c语言互相调用
下一篇: 51Nod 1019 逆序数 【分治】