Scrapy 调用chrome浏览器的middleware
  TEZNKK3IfmPf 2023年11月14日 23 0

下面是scrapy中调用chrome浏览器的middleware,可以设置是否更换头,是否无界面,是否加载css与图片

from selenium import webdriver

class HandlessMiddleware(object):

    def __init__(self):
        super(HandlessMiddleware, self).__init__()
        option = webdriver.ChromeOptions()
        # self.ua = UserAgent() # 设置更换头

        option.add_argument('--disable-gpu')
        option.add_argument('lang=zh_CN.UTF-8')
        # option.add_argument(
        # 'user-agent=' + self.ua.random)
        # option.add_argument('headless') # 设置无界面
        prefs = {
   
     
            "profile.managed_default_content_settings.images": 2,  # 禁止加载图片
            # 'permissions.default.stylesheet': 2, # 禁止加载css
        }
        option.add_experimental_option("prefs", prefs)
        self.browser = webdriver.Chrome(chrome_options=option)
        self.browser.implicitly_wait(10)
        self.browser.execute_script('window.open("","_blank");')

    def process_request(self, request, spider):
        self.browser.get(request.url)
        return HtmlResponse(url=self.browser.current_url, body=self.browser.page_source, encoding="utf-8",
                            request=request)
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2023年11月14日   49   0   0 Macchrome
  TEZNKK3IfmPf   2024年03月29日   65   0   0 chrome
TEZNKK3IfmPf