近期公司给了个任务:根据关键搜索百度网盘共享文件并下载。
琢磨了几天写下了一段简单的demo代码,后期优化没有处理。
主要的思路:(1)根据关键字爬取盘搜搜的相关信息
(2)解析并获取盘搜搜跳转到百度网盘的URL地址
(3)解析百度网盘获取真实下载URL然后下载文件
本来下了一段ip代理处理的, 可惜免费爬取的IP时效性差基本上用不了,所以下面给出的是没有ip代理demo
然而没有ip代理处理的话, 下载不到几个文件ip就被封了。所以下面的代码仅供学习。
下面的demo是用python3写的:
# -*- coding=utf-8 -*-
import random
import time
import requests
import os
import re
import urllib
import json
import string
import threading
from lxml import etree
from urllib import request, parse
def get_UserAgent():
'''
返回一个随机的请求头 headers
'''
USER_AGENTS = [
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; AcooBrowser; .NET CLR 1.1.4322; .NET CLR 2.0.50727)",
"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Acoo Browser; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506)",
"Mozilla/4.0 (compatible; MSIE 7.0; AOL 9.5; AOLBuild 4337.35; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)",
"Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)",
"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; .NET CLR 3.5.30729; .NET CLR