项目需求:
下载优快云博客上有关python的热门文章
老规矩在开始上手代码前,先对需求进行分析和梳理
将思路先整理出来
- 如何定义该博客为热门博客
- 需要下载多少篇博客
- 下载的博客应该如何命名
既然是去优快云博客上下载,那么首先打开优快云博客首页:
网址:blog.youkuaiyun.com
[优快云博客首页]这里有3个关键点:
1.如何定义该博客为热门博客–>我们发现有些博客有浏览量,有些没有,先定义有浏览量的为热门博客
2.下载的数量–>可以定下载多少页,比如从第一页到第十页
3.博客的名称–>用该博客标题作为该文章的名称
## 第一步先分析url地址,通常url地址都是从第二页开始分析,分析url网址哪些是变化的,哪些是不变的
url = 'https://so.youkuaiyun.com/so/search/s.do?q={keyword}&t=blog&platform=pc&p={page}&s=&tm=&v=&l=&lv=&u=&ft='
## 上述url地址中有两个变化的参数,一个是q={},代表查询的关键字,另一个是p={},代表页码
## 有关爬虫需要了解到关键信息,爬什么,关键字是python,爬多少,起始页-终止页
## 因此需要拿到3个输入信息,python,page1-page10
接下来导入与爬虫有关的包
import urllib.request as ur
import lxml.etree as le
import re
## 构造一个getResponse函数,getResponse函数主要用于获取浏览器返回的地址信息
def getResponse(url):
req = ur.Request(
url=url, # 请求的url地址
headers={
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:83.0) Gecko/20100101 Firefox/83.0'
} ## 请求的url地址采用的请求头
)
response = ur.urlopen