python爬虫爬取多页内容

不知道爬啥,随便找个网页吧~
url:http://www.netbian.com/index.htm

首选获取目标网址HTML页面

  1. F12提取请求头信息,这里我们只需UA即可 根据网页
  2. meta标签设置编码格式

在这里插入图片描述

代码如下:

import requests
from lxml import etree
def get_image():
    base_url =  "http://www.netbian.com/index.htm"
    headers = {
        'User-Agent':'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Mobile Safari/537.36'
    }
    #获取响应数据
    response = requests.get(base_url,headers=headers)
    response_data = response.content.decode('gbk')

   # response_code = response.status_code
   # print(response_code)
   #保存数据
    with open('wall.html','w',encoding='gbk')as f:
       f.write(response_data)
get_image()

本地打开验证:
在这里插入图片描述
是没有问题的。

不罗嗦了,直接上完整代码:

import requests
from lxml import etree
def get_image():
    try:
        headers = {
        'User-Agent':'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Mobile Safari/537.36'
        }
        #保存文件路径
        path = "C://Users/Administrator/Desktop/image/"
    #获取响应数据
        response = requests.get(url,headers=headers)
        response_data = response.content.decode('gbk')
    #判断是否有响应
    # response_code = response.status_code
    # print(response_code)
    #保存数据
    #with open('wall.html','w',encoding='gbk')as f:
     #  f.write(response_data)
    #数据解析
    #1.将数据解析为HTML
        parse_data = etree.HTML(response_data)
    #2.将需要的内容以字段的形式赋值给item
        item_list = parse_data.xpath('//div/ul/li/a/img/@src')
    #用for循环遍历整个列表并保存
        for item in item_list:
            final_data = requests.get(item,headers=headers).content
            with open(path + item[-7:],'wb')as f:
                f.write(final_data)
    #print(item)
    except:
        print('error')
def get_page():
    #取前10页
    urls = ["http://www.netbian.com/index_{}.htm".format(str(i)) for i in range(1,11)]
    #输出验证
    #print(urls)
    return urls
if __name__ == '__main__':#主函数
    get_page()
    for url in get_page():
        get_image()

运行结果:
在这里插入图片描述
简单总结为几个流程:
1.获取目标网址,填充请求头。
2.用urllib或requests保存数据。
3.用,正则,beautifulsoup,xpath解析数据。
4.保存数据。

  • 9
    点赞
  • 70
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值