爬虫類URLステッチの問題

免責事項:この記事はブロガーオリジナル記事です、続くBY-SAのCC 4.0を著作権契約、複製、元のソースのリンクと、この文を添付してください。
このリンク: https://blog.csdn.net/gklcsdn/article/details/102727143

爬虫類URLステッチの問題

最近の爬虫類は、URLの問題の多くの素晴らしいモザイクに遭遇書いた次のように、単純化

1.既知のURLアドレス

https://movie.douban.com/j/search_subjects?type=tv&tag=%E7%BE%8E%E5%89%A7&sort=recommend&page_limit=20&page_start=0

2.次のアドレスを取得します。

https://movie.douban.com/j/search_subjects?type=tv&tag=%E7%BE%8E%E5%89%A7&sort=recommend&page_limit=20&page_start=20

https://movie.douban.com/j/search_subjects?type=tv&tag=%E7%BE%8E%E5%89%A7&sort=recommend&page_limit=20&page_start=40

......
3.ソリューション
# @Time : 2019/10/24 14:17
# @Author : GKL
# FileName : test.py
# Software : PyCharm

import re
import time


def spider(string, page):

    url = "https://movie.douban.com/j/search_subjects?type=tv&tag=%E7%BE%8E%E5%89%A7&sort=recommend&page_limit=20&page_start=0"

    # 通过&拆分URL, 获取一个临时列表
    tem_li = url.split('&')

    # 获取tem_li 最后一项, 用于替换新的string
    num = tem_li[-1]

    # 通过索引替换tem_li最后一项
    tem_li[-1] = string

    # 拼接新的URL地址
    url = '&'.join(tem_li)

    print(url)

    # 获取下一个地址的page
    page += 20
    if page == 200:
        return

    # 获取新的string
    string = re.sub(r'\d+', str(page), num)
    time.sleep(1)
    spider(string, page)


if __name__ == '__main__':
    spider('page_start=0', 0)

おすすめ

転載: blog.csdn.net/gklcsdn/article/details/102727143