麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 操作系統 > 正文

Scrapy+phantomjs爬取動態網頁數據

2024-06-28 16:02:28
字體:
來源:轉載
供稿:網友

安裝phantomjs

安裝包下載地址: http://phantomjs.org/ ,包括 Windows ,Mac OS,linux版本,自行選擇對應 版本下載解壓即可( 為方便使用,可自已為phantomjs設置環境變量 ),其中帶有一個example文件夾,里面有很多已經寫好的代碼供使用。本文假設phantomjs已經安裝好并已設置了環境變量。

Scrapy 中在setting 文件設置

#phantomjs的文件路徑,這里我復制到spiders文件中JS_BIN="spiders//phantomjs.exe"LOGIN_TYPE="myCrawl"ROBOTSTXT_OBEY = True#反爬機制ROBOTSTXT_OBEY = False#設置取消CookesCOOKIES_ENABLED = False#設置用戶代理值,隨便瀏覽一個網頁,按F12 -> Network -> F5,隨便點擊一項,你都能看到有 User-agent 這一項,將這里面的內容拷貝就可以。USER_AGENT = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'DOWNLOAD_DELAY = 3CONCURRENT_REQUESTS=100#取消默認的useragent,使用新的useragent DOWNLOADER_MIDDLEWARES = { 'scrapy.contrib.downloadermiddleware.useragent.UserAgentMiddleware': None,#關閉默認下載器 'javaScriptMiddleware.JavascriptMiddleware':543 #鍵為中間件類的路徑,值為中間件的順序 }

編寫中間件

神馬是中間件?

# -*- coding: utf-8 -*-from selenium import webdriverfrom scrapy.conf import settings# from scrapy.http.response import Responsefrom scrapy.http import HtmlResponseimport timefrom scrapy import signalsfrom scrapy.xlib.pydispatch import dispatcher from telnetlib import DOclass JavaScriptMiddleware(object): def __init__(self): if settings['LOGIN_TYPE'] == 'MyCrawl': ''' self.simulation = weibo_login(settings['USERNAME'], settings['PWD'], settings['COOKIE_FILE']) cookie_file = settings['COOKIE_FILE'] cookie_jar = cookielib.LWPCookieJar(cookie_file) cookie_jar.load(ignore_discard=True, ignore_expires=True) self.driver = webdriver.PhantomJS(executable_path=settings['JS_BIN']) for c in cookie_jar: self.driver.add_cookie({'name': c.name, 'value': c.value, 'path': '/', 'domain': c.domain}) ''' # simulate user login PRocess self.driver = webdriver.PhantomJS(executable_path=settings['JS_BIN'])# 登錄# self.driver.get('http://login.sina.com.cn/')# uid = self.driver.find_element_by_id('username')# upw = self.driver.find_element_by_id('passWord')# loginBtn = self.driver.find_element_by_class_name('smb_btn')# time.sleep(1)# uid.send_keys(settings['USERNAME'])# upw.send_keys(settings['PWD'])# loginBtn.click()# time.sleep(1) elif settings['LOGIN_TYPE'] == 'other': print('add login code') pass else: self.driver = webdriver.PhantomJS(executable_path=settings['JS_BIN']) dispatcher.connect(self.spider_closed, signals.spider_closed) def process_request(self, request, spider): self.driver.get(request.url) print("頁面渲染中····開始自動下拉頁面") indexPage = 1000 while indexPage<self.driver.execute_script("return document.body.offsetHeight"): self.driver.execute_script("scroll(0,"+str(indexPage)+")") indexPage = indexPage +1000 print(indexPage) time.sleep(1) rendered_body = self.driver.page_source #編碼處理 if r'charset="GBK"' in rendered_body or r'charset=gbk' in rendered_body: coding = 'gbk' else: coding = 'utf-8' return HtmlResponse(request.url, body=rendered_body, encoding='utf-8') #關閉瀏覽器 def spider_closed(self, spider, reason): print ('close driver......') self.driver.close()

最后放蟲咬網站

# -*- coding: utf-8 -*-import scrapyfrom scrapy.http import Requestfrom fileinput import filenamefrom pip._vendor.requests.packages.urllib3 import responsefrom win32ui import GetTypeimport refrom builtins import strclass DmozSpider(scrapy.Spider): name = "crawl007" redis_key = 'blog.csdn.net' start_urls = ["http://blog.csdn.net/u010085423/article/details/54943875"] def parse(self, response): #//*[@id="article_details"]/div[1]/h1/span/a content = response.xpath("http://[@id='article_details']/div[1]/h1/span/a/text()").extract() if content: print(content[0])
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 蜜桃视频在线观看免费 | 久久精品视频日本 | 日韩精品中文字幕一区二区三区 | 欧美在线小视频 | 被啪羞羞视频在线观看 | 日本高清黄色片 | 日韩 欧美 中文 | 日韩在线毛片 | 国产1区在线观看 | 黄网在线 | 99视频在线观看视频 | 好吊色欧美一区二区三区四区 | 国产亚洲精品久久久久久久久 | 欧美成人一二三区 | 亚洲aⅴ在线观看 | 黄色网址免费进入 | 青青草好吊色 | 天天草天天爱 | 精品久久久久久久久亚洲 | 久久毛片免费观看 | 长泽雅美av | 国产精品剧情一区二区三区 | 在线天堂中文在线资源网 | 成熟女人特级毛片www免费 | 91麻豆精品国产91久久久点播时间 | 激情小说激情图片激情电影 | 亚洲午夜国产 | 一级成人黄色片 | 成人mm视频在线观看 | 精品中文字幕在线播放 | 97青青草视频 | 国产成人av免费 | 欧美一级特黄特色大片免费 | 中文字幕免费在线观看视频 | 国产午夜精品一区二区三区免费 | 毛片在线免费观看视频 | 欧美人与性禽动交精品 | 精品欧美一区二区精品久久 | 国产精品午夜在线 | 欧美一级黄色影院 | 黄污污网站 |