美文网首页
scrapy-splash操作

scrapy-splash操作

作者: 奇楠之后 | 来源:发表于2020-04-01 22:24 被阅读0次

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)

相关文章

网友评论

      本文标题:scrapy-splash操作

      本文链接:https://www.haomeiwen.com/subject/axvzuhtx.html