scrapy結合selenium的使用和代理的問題

1.訪問動態(tài)網(wǎng)頁的方法

首先在middlerware中間鍵中process_request函數(shù)中重新寫該方法

from selenium import webdriver
from scrapy.http import HtmlResponse
def process_request(self,request,spider):
  path = r'example_path'
  option = webdriver.ChromeOption()
  option.add_argument('--headless')
  deriver = webdriver.Chrome(excutable_path=path,option=option)
  driver.get("example.com")
  url = driver.current_url
  body = driver.page_source
  res = HtmlResponse(url=url,body=body,encoding='utf-8',request=request)
  # 讓界面滾動的方法,同時需要在setting中middleware下載中加入 
  # "scrapy.downloadermiddlewares.useragent.UserAgentMiddleware": None
  js = "var q = document.documentElement.scrollTop = {}"
  for i in range(10):
    driver.excute_script(js.formate(i*200)

  return res

2.ip代理的問題

首先需要在setting配置文件中先定義一個ip池

IPPOOL = [
  { 'ip':''},
  { 'ip':''},
  { 'ip':''},
  { 'ip':''},
  { 'ip':''},
  { 'ip':''},
  { 'ip':''},
]

在middleware中的process_request函數(shù)中重新寫

# 需要重新定義ip
def __init__(self,ip=''):
  self.ip = ip

# 重新寫process_request方法
def process_request(self,request,spider)
  ip = random.choice(IPPOOL)['ip']
  request.meta['proxy'] = 'https://' + ip


# 需要在setting中配置
DOWNLOADER_MIDDLEWARES = {
   # 'daili.middleware.ExampleDownloaderMiddleware': 543,
    'daili.middlewares.ExampleDownloaderMiddleware':222,
    'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware':333,
}

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,545評論 19 139
  • scrapy學習筆記(有示例版) 我的博客 scrapy學習筆記1.使用scrapy1.1創(chuàng)建工程1.2創(chuàng)建爬蟲模...
    陳思煜閱讀 13,075評論 4 46
  • Refer to: www.threemeal.com/blog/12/ 中間件 中間件是一個鉤子框架,它們可以介...
    蘭山小亭閱讀 16,774評論 9 164
  • 很長一段時間以前,我不僅僅喜歡流浪這個詞,而且還愛流浪本身。年紀輕薄,很多詞語就帶有濃烈的色彩感和畫面感,好似走一...
    那個邦尼呀閱讀 277評論 0 0
  • 清姝發(fā)現(xiàn),一說保險就容易停不下來。昨天公布了自己選的保險,就有朋友質疑為什么不買終身險。30年后到期了,再買保險豈...
    清姝閱讀 1,096評論 4 51

友情鏈接更多精彩內(nèi)容