Python爬虫入门
此专栏为Python爬虫入门到进阶学习。
话不多说,直接开始吧。
urllib模块
Python中自带的一个基于爬虫的模块,其实这个模块都几乎没什么人用了,我就随便写写了。
- 作用:可以使用代码模拟浏览器发起请求。(request、parse)
- 使用流程:
- 指定url
- 针对指定url发起请求
- 获取服务器响应回来的页面数据
- 持久化存储
1、urllib编写一个简单的爬虫程序
要求:爬取搜狗首页页面数据
注意,urllib等模块包需要通过pip下载,如果配置好了pip,直接pip install urllib就可以了,由于不是新手教程,就不再提及。
import urllib.request
#1.指定url
url = "https://www.sogou.com/"
#2.发起请求:urlopen可以根据指定url发起请求。且返回一个响应对象
#request是urllib的子模块,urlopen则是request的函数,表示打开一个url。括号里第一个url是urlopen的参数,则需要将url赋值给此url。
response = urllib.request.urlopen(url=url)
#3.获取页面数据,read函数返回的就是响应对象中存储的页面数据。
# 【这里解释下,response为何可以直接调用read函数,简单来说就是:urlopen( )函数返回的是一个HTTPResponse对象。
# 它包含了read( )、readinto( )、getheader(name)、getheaders( )、fileno( )等方法。
page_text = response.read()
#4.持久化存储,wb=二进制存储
with open('./sougou.html','wb') as f:
f.write(page_text)
print("写入数据成功。")
ok,这样的话就能爬取到一个简单的页面数据。
2、URL编码处理
如果我们想爬取的url里边带有中文的话,就要对URL进行编码处理。