##Python爬取站长素材上的图片
罗纳尔康
首先这是一个学习的案例,我将其记录下来,因为所学的内容有点多,爬取这个图片,我是用的xpath来解析网页,当然也可以用bs4来进行解析,看个人喜好,该案例比较简单,但涉及的内容并不少。
1.分析每页的url地址栏
第一页:https://sc.chinaz.com/tupian/gougoutupian.html
第二页:https://sc.chinaz.com/tupian/gougoutupian_2.html
第三页:https://sc.chinaz.com/tupian/gougoutupian_3.html
可以看出来除了第一页以外,后面的每一页都是_页码,下划线+页码。所以这个规律很好找,就除了第一页以外,之后的每一页都拼接一个下划线+页码就可以完成url地址栏的获取。
2.定制请求对象
首先需要 定制请求对象需要的两个参数,一个是URL地址,一个headers,请求头。
因此第一步定义一个定制请求对象的函数,并且是一个含参有返回值的函数,参数用于接收传来的页码,并将得到的请求对象返回过去,用于下一步的获取内容。
首先就是url,url用if判断,除了第一页直接给https://sc.chinaz.com/tupian/gougoutupian.html这个地址以外,后面的每一页都是
url=‘https://sc.chinaz.com/tupian/gougoutupian_’+str(page)+’.html’,用来改变url地址,从而获取不同页的数据。
headers:可在浏览器中的开发者模式中去复制,并且是一个字典类型。
将url和headers两个参数传入urllib.request.Request()这个方法中,将会得到一个request。将这个请求对象返回,下一步将会用到。
def create_request(page):
if(page==1):
url='https://sc.chinaz.com/tupian/gougoutupian.html'
else:
url='https://sc.chinaz.com/tupian/gougoutupian_'+str(page)+'.html'
headers={
'User-Agent': &#