splash的安装
安装docker
启用splash:docker run -p 8050:8050 scrapinghub/splash
splash的使用
splash 使用执行lua脚本添加代理的两种方法:
- 一种是在lua脚本中使用:
proxydict ="host={},port={},username=username,password=password,type='HTTP'".format(host,port)
splash:on_request(function(request)request:set_proxy{"""+proxydict+\ """}end)
- 一种直接在请求的url后添加参数:
url ="http://192.168.1.157:8050/execute?lua_source=" + parse.quote(lua)+可以有timeout,proxy,filter
splash实现下拉
import requests
from urllib import parse
# splash:get_cookies()
lua = """
function main(splash, args)
splash:set_user_agent('Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.67 Safari/537.36')
assert(splash:go("https://list.suning.com/1-502325-0.html"))
splash:runjs("document.getElementById('bottom_pager').scrollIntoView()")
splash:wait(1)
return {
splash:html()
}
end
"""
url = "http://127.0.0.1:8050/execute?lua_source=" + parse.quote(lua)
res = requests.get(url)
html = res.json()['1']
print(html)
网友评论