BeautifulSoup爬虫入门(二)——异步加载数据

异步加载又叫非阻塞加载,浏览器在下载执行js的同时,还会继续进行后续页面的处理。

常见的形式就是下拉页面出现新的内容

本次就是要爬取这些动态加载出的内容

以KnewOne网站上discover页为例,下拉会获取新的内容,检查网页源码时会发现,随着下拉会出现新的div,是Page的数值发生了改变

爬取代码如下:

import  requests
from  bs4 import BeautifulSoup
import time
url='https://knewone.com/discover?page=2'
def getPage(url):
        wb_data = requests.get(url)
        soup=BeautifulSoup(wb_data.text,'lxml')
        imgs = soup.select('a.cover-inner > img')#检查得到的图片的位置
        titles = soup.select('section.content > h4 > a')
        for img,title in zip(imgs,titles):
            data={
                'img':img.get('src'),
                'title':title.get('title')
            }
            print(data)

def get_more(start,end):#取连续下拉的几页内容
    for one in range(start,end):
        getPage(url+str(one))
        time.sleep(3)

get_more(2,5)



你可能感兴趣的:(python)