requests_html render 设置参数

requests_html render 设置参数

1. 不使用render

from requests_html import HTMLSession
session = HTMLSession()

#验证代理的使用
proxie = {
     "http":"http://{}:密码@主机:端口".format(用户名)
}
url = “http://httpbin.org/ip”
# 参数和用法跟requests差不多
response = session.get(url,proxies=proxie)

2. 使用render

from requests_html import HTMLSession
import asyncio
import pyppeteer

# 主要是重写HTMLSession类
# HTMLSession类是用来包装pyppeteer的,添加参数的也是在pyppeteer里面
class HTMLSession2(HTMLSession):
    @property
    def browser(self):
        if not hasattr(self, "_browser"):
            ip = "ip:prot"
            self.loop = asyncio.get_event_loop()
            # pyppeteer.launch() 需要添加的参数
            self._browser = self.loop.run_until_complete(pyppeteer.launch(headless=True, args=['--no-sandbox', '--proxy-server={}'.format(ip)]))
        return self._browser
session = HTMLSession2()
session.browser #开线程一定要的参数
url = "https://httpbin.org/get"
response = session.get(url=url)
response.html.render()
print(response.html.html)	#ip已经改变了

3. pyppeteer launch常用参数配置

# 是否以”无头”的模式运行,,即是否显示窗口,默认为 True(不显示)
headless=False
# 是否忽略 Https 报错信息,默认为 False
ignoreHTTPSErrors=True
# 防止多开导致的假死
dumpio=True
# args常用配置
args=[
# 不显示信息栏,比如:chrome正在受到自动测试软件的控制
'--disable-infobars',
# 最大化窗口
"--start-maximized",
# 设置UA
"--user-agent=Mozilla/5.0......",
# 取消沙盒模式,放开权限
"--no-sandbox",
# 添加代理
"--proxy-server=http://127.0.0.1:80"
]

借鉴博客

# request_html
1. https://blog.csdn.net/weixin_42715180/article/details/103035530
# pyppeteer 
2. https://blog.csdn.net/weixin_44029501/article/details/106547302
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值