Python 设置 IP 代理 访问网页 ( 用户名密码验证代理 )

需求如下:

待爬取的页面
Python 设置 IP 代理 访问网页 ( 用户名密码验证代理 )_第1张图片
想爬取的部分
想爬取的部分
查看源码,在Js中有返回
Python 设置 IP 代理 访问网页 ( 用户名密码验证代理 )_第2张图片

正常访问时候,使用Firefox代理插件 FoxyProxy 设置代理才能访问到的。

Python 设置 IP 代理 访问网页 ( 用户名密码验证代理 )_第3张图片

本来想用 Selinum打开 FireFox,然后爬取表格,。不过卡在了插件,和插件自动 填充账号密码这块儿,后来发现直接用 urlib 做网络请求 ,然后bs4 解析Js获取数据更方便, 代码如下:

import urllib.request as r

proxy_handler = r.ProxyHandler({'http': 'user:passwd@代码IP:端口号'})
opener = r.build_opener(proxy_handler)
r.install_opener(opener)
response = r.urlopen('http://yarn02-prd3.xxx.com:8088/cluster/apps/RUNNING')
html = response.read()
# 解析
bs = BeautifulSoup(html, "lxml") 
appsTableData = bs.findAll('script', {'type': 'text/javascript'})[-1]

附上一个额外的需求,每小时爬取一次,用 apscheduler

import os
from apscheduler.schedulers.blocking import BlockingScheduler


def monitor():
    os.system(r"python haddop_moni.py")

if __name__ == '__main__':
    scheduler = BlockingScheduler()
    # 采用固定时间间隔(interval)的方式,每隔1H执行一次
    scheduler.add_job(monitor, 'interval', seconds=3600)
    scheduler.start()
    try:
        scheduler.start()
    except (KeyboardInterrupt, SystemExit):
        pass

你可能感兴趣的:(代理,爬虫,Python3,FireFox,python)