网站爬虫(全站爬取)案例以及原理 适合新手

本文介绍了如何使用Python爬虫技术,包括json、requests、multiprocessing等模块,解析并抓取一个未加密网站的电影信息,包括翻页规则和数据解析过程,最后演示了如何通过多线程提高爬取速度。

一、网站介绍

本次案例选用的网站是由崔先生(崔庆才)所维护的网站,今天的案例是也是网站中的一部分。

https://ssr1.scrape.center/

二、基础模块

本次用到的模块有:

1、json

本章会用到json.dump()方法,将数据保存成文本格式,用于数据的保存

2、requests

本章用到的数据请求方法主要采用requests.get()方法来请求

3、multiprocessing

创立多线程池,用于加快爬虫速度

4、urllib

基本不用urllib请求数据,太麻烦。但urljoin来拼接url还是不错的

5、os

系统库,用于创建文件夹

三、网站解析

本次的网站是一个非常基础的没有加密的网站,主要看一下它的数据位置以及翻页规则。

首先我们在电影信息块中可以看到蕴含着一个url后缀

点进电影详情后发现电影详情的url是原url与这个url后缀拼接而成的。

而它的翻页规则也很简单,是在原url的基础上加/page/页数

至此我们完成了对网站结构的解析

四、爬取准备

了解网站的结构后,接下来要进行数据爬取,首先是先得到不同页数的url的文本内容

total_page = 10

#如果网页请求成功则范围网页请求内容
def scrape_page(url):
    try:
        response = requests.get(url)
        if response.status_code == 200:
            return response.text
    except:
        raise

#得到不同页的url
def scrape_index(page):
    page = str(page)
    index_url = base_url+"page/" + page
    return scrape_page(index_url)

for page in range(1,total_page + 1):
    index_html = scrape_index(pa
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值